The online racing simulator
Searching in All forums
(969 results)
[SOLVED] [VR] No positional tracking with Samsung Odyssey+
bitplane
S3 licensed
Hiya! I get rotational, but no positional tracking with my Samsung Odyssey+ headset. I have no problems in other games. I use Windows 10 and SteamVR.

Got it to work! This turned out to be a SteamVR issue. Uninstalled, then reinstalled SteamVR, and now it works!

Another issue that may or may not be related is that the VR 3D looks kinda odd. As if the FOV isn't correct, but I've tried various values and it doesn't help much. I can't quite put my finger on it, but when I look in the distance, it just looks off. (But maybe it's just a side effect of the positional VR not working *update: I don't have time right now but will do a race later to see if this issue is now fixed as well, now I have positional tracking working)
Last edited by bitplane, .
DeeMoNay
Demo licensed
I hate to raise this one from the dead, but I have a Reverb G1 and get the same warpy display in the headset. The screen mirror is perfect. Reverb, not so much...

And I know that LFS was the first to do VR, so I believe this is a strange one. I have Other systems with other VRs on them and LFS runs perfectly on those. My system is a 11700k/3080ti. This same exact issue manifests itself in the flight sim IL2 FWIW. Everything else is perfect.

If there's a fix or setting, let me know! Thank you!

Derek "BoxxMann" Speare (yes, it's me) Na-na

NB - here's my openVR log:

LFSOpenVR Apr 10 2020
ProductName: HP Reverb VR Headset VR1000-2xx
Manufacturer: WindowsMR
LFSVR_QueryHMD
Recommended RT size: 4416 x 2164
Left eye:
GetProjectionRaw___: Left -1.000 Right 0.853 Top -1.003 Bottom 1.000
GetProjectionMatrix: Left -1.000 Right 0.853 Top -1.003 Bottom 1.000
GetEyeToHeadTransform:
1.000 0.000 0.004 -0.032
-0.000 1.000 -0.000 -0.000
-0.004 0.000 1.000 -0.000
Right eye:
GetProjectionRaw___: Left -1.000 Right 1.169 Top -1.004 Bottom 1.000
GetProjectionMatrix: Left -1.000 Right 1.169 Top -1.004 Bottom 1.000
GetEyeToHeadTransform:
1.000 -0.000 -0.004 0.032
0.000 1.000 0.000 0.000
0.004 -0.000 1.000 0.000
IPD: 0.064
LFSVR_AcceptSharedTexture
RT size: 4416 x 2164 / format: DXGI_FORMAT_B8G8R8A8_UNORM
LFSVR_AcceptSharedTexture
RT size: 5132 x 2515 / format: DXGI_FORMAT_B8G8R8A8_UNORM
LFSVR_Close
Last edited by DeeMoNay, .
Lucas McFly
S3 licensed
Work in progress:

"The current public version of LFS runs the physics at 100 steps per second. When displayed at 60 frames per second (typical on a monitor) or at 90 fps (typical on a VR headset) the number of physics steps per graphical frame is not constant. Some graphical frames show a single physics step while others show two physics steps. For example at 60 fps there is a 2,2,1 pattern of physics steps per graphical frame. This mismatch produces a visible stutter that is particularly noticeable when objects are moving sideways across the screen. For example when looking to the side or when turning a tight corner at lower speeds. The stutter effect is especially noticeable in VR. We are experimenting with a new physics update rate of 1000Hz. The number of physics steps is a lot closer between subsequent graphical frames, so things look smoother. For example at 60 fps there is a 17,17,16 pattern of physics steps per graphical frame.

The 1000Hz physics update also allows lap times to be recorded to an accuracy of 1/1000 of a second and slow motion replays can appear smooth too. This change is also a possible route to a multithreaded version of LFS in which the graphics and physics code run on separate CPU cores, simultaneously, instead of having to share a single core. The physics could theoretically run in real time at steps of 0.001s, while the graphics code does all its tasks that have become a lot more complicated in the new graphics system, most notably because of the shadow maps that were required for real time lighting. We are currently in an early stage of some restructuring to allow the physics and graphics to run on separate threads. It's certainly experimental at this point but multithreading has important advantages and should be explored and evaluated. The best outcome would be constant physics rate as described above and a graphical frame rate that remains at the refresh rate of the display device."

https://www.lfs.net/20th-anniversary
NENE87
S3 licensed
In vr i can't see the road :/
Gutholz
S3 licensed
Quote from Marty_Deslions :I wouldnt mind seeing these pics of the old version of LFS, so I dont have to install it myself.

Keep it coming!

Here are some old LFS sites from web.archive:
https://web.archive.org/web/20021210044956/http://www.bhmotorsports.com/LFS
Try the screenshot gallery. But only half the images work.

very old setup guide with the old S1 menu:
https://web.archive.org/web/20021209191943/http://www.bhmotorsports.com/guide/80

Blackholemotorsports used to be one of THE websites for racing games. Demos, videos, news, mods, etc.
When LFS was published there was also another self-published sim currently in development.."Racing Legends". I think some will remember the hype around the first pictures and then it never went anywhere..
Sadly none of the videos are archived. There was actually a video of LFS running on a VR headset already 20 years ago.
Scawen
Developer
The Extra Mile tries LFS in VR. Thumbs up

TheExtraMile
S3 licensed
Hey guys!

Small youtuber here who just rediscovered LFS after what feels like a decade or so.

Tried out VR and had a blast!

https://www.youtube.com/watch?v=L6eCm26O2D8
Pasci
S3 licensed
With HTC Vive and Pimax 8K it works fine:

Display type: VR headset
VR system: OpenVR
Monitor view: single (default)
Resolution adjustment 100% (default)

I do nothing else. Which HMD do you use/try?
xjoshbx
Demo licensed
Quote from risov :When I turn on VR (OpenVR) in LFS the monitor shows LFS as if I am using the headset.
Inside the headset I see SteamVR home. So the tracking seems to work but I am just not getting LFS in my headset.

Anyone know how to fix this?

I'm new, but also doing VR and have been through some steps to get things working. Which headset are you using?
v0.7D and Oculus v42 (Quest 2)
xjoshbx
Demo licensed
Hello,

I've started building a new sim rig with VR as the main use. I've downloaded LFS 0.7D, but I'm having an issue getting LFS to work inside my headset. I've searched, but doesn't appear anyone has had my exact issue.

Steps:
  1. I connect my headset via the link cable
  2. From the headset in link mode, I select desktop to view my computers desktop
  3. I start LFS from the headset (in window mode)
  4. I go to Options > View > Select 3D
  5. I leave display type to "VR headset", VR system to "Oculus Rift", Monitor View to "single"
When I click "OK" my headset just shows a little window that says "Loading..." forever. On my computer screen I see an error on LFS that says "Cannot create swap textures"

Anyone else familiar with this error?

P.S. OS is Windows 11 fully updated
Last edited by xjoshbx, .
KingOfIce
S3 licensed
Online at :
LFSFrance.org #1
ok, thanks for your feedback.
I have indeed outgauge in a separate thread (and it seems to be the same on the LFS side - durng tests, I managed to freeze outgauge info coming from LFS by pushing the graphics to full in VR, LFS then logically prioritizes its other computations by not sending outgauge anymore).
I'll look into predict and fuel. I think that some problems are corrected in the "layout" version currently being tested (but other bugs may have appeared because predict and fuel in layout mode are quite complex).
Sorry for the long delay for this new version to come, because of the complexity of this last version and my current vacations.
Ross Burton
S3 licensed
Quote from Tomfuel :what about your Graphic card ? what is your config please

I've only pushed it this far with my 3080ti. Racing at Blackwood. And the Aero is running with a 3090ti. But that said, I get really good visuals rendering with much more sensible SS on a 1080ti + Reverb G1, still at 90fps.

With the 30x GPUs I've maxed everything in LFS config and added 2xSGSS with insane super-sampling to intentionally push it a bit hard, with rigs for G2 and Aero.

I'm fortunate to have good access to hardware to try quite a few combos of GPU and headset.


To clarify on OpenXR/OpenVR: native support for OpenXT in the future version seems a likely direction if that's where everything goes, no doubt - but what I was getting at is that the OpenXR Toolkit allows one to by-pass SteamVR and apply additional effects with existing OpenVR titles.

It's basically AC (Open VR) >> OpenXR Toolkit >> OpenXR for WMR, on my G2. Getting rid of SteamVR was a good performance increase in its own right, plus allows the other toolkit capabilities to be layered on top.

So perhaps one for the future release, but the Dev of the toolkit "mbucchia" recently commented on a Discord channel (not about LFS but in general) regarding developers that wanted to allow him to enable support for Dynamic Foveated Rendering in the toolkit:

"If they could tag their left/right eye render targets with a debug name (WKPDID_D3DDebugObjectName) then we would be able to tell what eye a render pass is targeted for (when we intercept OMSetRenderTargets()). From their end, it means whenever they allocate the textures they use to render to, they have to make one extra call to SetPrivateData() and use a distinctive name, like "LeftEye" or "RightEye"."

Not sure if LFS does this already but if so, maybe worth talking to him about adding it, with no extra work required by LFS devs - or if not, perhaps a way in future to easily add the support and all those capabilities.

Aside the performance, it would be neat to have a title where - with an eye-tracking headset - one can easily have the focus crosshair overlaid on the monitor view to see where the driver is looking; again good capability to showcase from a driver training perspective.
RacingSOUL
S3 licensed
@Scawen, thank you very much for providing the detailed insight into the development process and behind-the-scene outlook.

I will do a system refresh when I get time just in case some driver/component is glitching.

As you mentioned, getting another more powerful system to bruteforce the FPS is another way of solving the problem and I'm considering it. Waiting for the next gen intel CPUs and 4000-series NVidia cards as the gains rumored are so big compared to the current gen (as well as falling GPU prices, FINALLY! lol)

1000Hz physics update and multithreading? That would be great! I understand it takes a lot of time which means I have more time to prepare myself (i.e. get a new PC, DD wheel, LC-pedals, 6-dof motion rig, higher resolution VR headset, etc.) for that next step.

@sinanju, yeah, we have very similar systems. All USB ports are in use on mine (mouse, kb, oculus power, two oculus sensors, wheel and pedals, shifter, gamepad wireless dongle).
gu3st
S3 licensed
Somewhat related to the title is that Oculus is due to deprecate their Oculus API in favour of OpenXR starting at the end of August.

OpenXR was recently added to iRacing and has brought some interesting improvements. One of which is WMR headsets (HP Reverb G2) no longer need to use SteamVR which improves performance.

Additionally Valve does provide an OpenXR runtime for SteamVR devices and other devices like PiMax have community built (but dev supported via hardware) OpenXR runtimes under development.

It's definitely "the future" for VR headsets and will let developers target a single VR API rather than needing to support multiple APIs.
Scawen
Developer
In my opinion LFS is to blame, rather than any hardware issues. Or a sort of combination of the Oculus software being a bit odd and LFS not fully adapted to it. Though that can probably be overcome by a very fast computer, you could still argue it's LFS's fault in some way.

For example the call where LFS submits the finished render target to the Oculus software, blocks for quite a while each frame. That means by default LFS would not be able to do anything at all while it simply waits for Oculus to return. That is the method that Oculus uses to force the program to stay at the correct frame rate. For the record, this is different from the SteamVR method, where the blocking is done on a separate function where the game asks for the head position for the next frame.

To try to avoid this wait, LFS uses a thread to submit the image. It allows LFS to continue with other tasks until Oculus says it's OK to proceed. LFS then waits at another point. I am not really sure about the interaction between this thread and the other part of the program. Also there is complication due to the fact that LFS renders in Direct3D 9 and submits a shared texture to Direct3D 11 as used by Oculus or SteamVR.

In my opinion it would be much better to use a separate thread for the render and the physics. I believe the VR driver software for Oculus and SteamVR are designed to be used in this way. So the graphical thread would continually create images and submit them to the VR system, while the physics thread does its own thing.

Going quite off topic...

Converting LFS to be multithreaded in that way is a big task and I am working on it, or at least looking into it, right now. It would never be done for the existing public version, but in the development version I have made one big step in that direction. As recently discussed on two threads that had to be closed, our new version is currently running the physics system at 1000Hz. This brings some benefits already although this is still done in bursts. One graphical frame, a burst of physics frames (on one thread). The best thing would be if the physics could continue at a steady rate rather than running in bursts. The next big change is to try and separate all the game screens / modes / processes or whatever you want call them, into a separate 'render' and 'process' function. All the LFS screens currently have their processing (if any) and render (often just buttons) in a single function. I believe these should all be separated into two functions so that processing and the render can be cleanly separated. On most screens this should be straightforward, but for example the game setup screen also processes the multiplayer system so that is a bit more involved. The in-game world is as you would expect, the biggest one of all as it does a lot of complicated graphics and multiplayer / physics processing. If that separation goes well then the graphics (including UI) system will be closer to being separated out into a separate thread.

Back on topic...

I don't really expect to make any improvements to the existing public version to make it work better in VR. Fundamental issues such as the single threaded nature and the use of Direct3D 9 are significant complicating factors. However for various reasons I am working on what I believe is the proper solution, in the development version with the new graphics and physics systems.
MandulAA
S3 licensed
Quote from gu3st :A i7-4770 is somewhat old but not completely useless. Would be quad core and hyperthreaded. I had one with a 1660Ti and it was ok in VR but not ideal. A 1060 will definitely be on the lower capabilities of VR. *snip*

I had absolutely no issues running LFS with my 1060 3gb in VR, using Rift CV1. I basically have the same pc as RacingSOUL, except with a bit stronger cpu (i7-6700k, which has 8971 pts vs. the i7-4770 with 7029 pts on PassMark) and the same amount of DDR4, 3000mhz RAM. The slowdowns might be caused by that cpu difference, or maybe the PSU? It doesn't seem like you would hit the 330w mark with that setup, but no psu likes to run close to its capacity, let alone lower-end psu's that can't hold 12/5/3.3V voltages stable due to their lower quality components, especially over long time running on the limit.

Not sure, but thought I might add my findings using a similar setup Frown
gu3st
S3 licensed
A i7-4770 is somewhat old but not completely useless. Would be quad core and hyperthreaded. I had one with a 1660Ti and it was ok in VR but not ideal. A 1060 will definitely be on the lower capabilities of VR. I'm pretty sure I was usually at like 45FPS on my CV1 at certain points (it was a long time ago that I seriously ran LFS in VR outside of random hotlaps).
sinanju
S3 licensed
It's great to be able to drive a vehicle in VR mode, but in the 100+ layouts I've made, I've never tried creating a layout with VR.

I'd suggest making your layout using a monitor first, then when you're nearly done, then driving round in VR to see what needs changed or tidied up.

An image of the layout you're trying to make would be helpful.
Anyone who makes autocross layouts for hire?
Banediesel
S3 licensed
I am new to LFS and I am trying to use the autocross as a way to practice for IRL autocross. I tried to use footage of my last autocross event to create a close to exact replica in game but after spending about 3-4 hours I can't get the scale right I also can not figure out how to delete an object. When I make a mistake I have to start all over and in that time I only managed to create 1/4 of the course. I also find it difficult to control the editor while in VR.

If anyone out there is interested in helping me out I would gladly pay for help or even recreating a course from footage I take of my events.

Thanks
Ross Burton
S3 licensed
Quote from Scawen :Thanks for the information.

Good to hear LFS keeps on working with new headsets, through OpenVR.

I don't have any plans for OpenXR support at this time and I would hold off from such updates as long as possible, while there are so many other things to work on. So I hope OpenVR support keeps going for a long time.

I've been working on a 1000Hz update rate for the physics that allows better time steps between graphical frames so that should help with VR if I can manage to sort out the remaining issues.

I understand, given the priorities it makes sense that it's a backlog task deep down the order of priority, at least until it more FPS in VR are needed!

I put in a few laps at Blackwood tonight with it rendering about 10800x4400 which looks epic. 90FPS solid. With clarity feeling like an HD monitor in VR it makes for a really immersive experience, it really 'sucks you in' - shadows and clarity in the distance (almost no shimmering!), and the clarity in proper mirrors all adds up. It still honestly feels like a benchmark in VR driving 'experience' despite its age.

The tearing / stuttering is the obvious detractor. So I'm excited to see the 1000Hz update, even if that is the only VR oriented update in a good while. It didn't feel as bad in the G2 as the Aero, pretty sure it is but with increased clarity it feels more jarring.

If LFS maintains all it does so well and resolves that issue, with the future graphics update it'll be quite a formidable VR experience - the futures bright!
mbutcher
S3 licensed
Quote from Scawen :I've been working on a 1000Hz update rate for the physics that allows better time steps between graphical frames so that should help with VR if I can manage to sort out the remaining issues.

Heart

That's definitely a higher priority than targeting any more XR standards at this point, great to hear you're working on it. The skipped frames in VR is the only thing that stops it from being a perfect implementation in my opinion.
Scawen
Developer
Thanks for the information.

Good to hear LFS keeps on working with new headsets, through OpenVR.

I don't have any plans for OpenXR support at this time and I would hold off from such updates as long as possible, while there are so many other things to work on. So I hope OpenVR support keeps going for a long time.

I've been working on a 1000Hz update rate for the physics that allows better time steps between graphical frames so that should help with VR if I can manage to sort out the remaining issues.
Ball Bearing Turbo
S3 licensed
Hey Scawen. Super interesting read, please don't get discouraged from posting by the conduct of dullards; some of us have been here ages and sit silently reading your comments just because LFS is a cool thing, and we're interested.

Also, I had no idea before this thread why the actual hell there was wild stuttering in VR even though my frames were capped and PC not taxed. I spent ages fiddling with settings and getting frustrated about it, now I get that's just an innate symptom of how things are calculated & drawn. Not brutal if you get really focused on only what's in front of you, but looking into the periphery hurts my visual cortex lol.

Thanks for sharing. Still anticipating your new physics / graphics!
sHiFt3R
S3 licensed
Quote from Scawen :1) Check the graph instead of making up information:
https://www.lfsworld.net/?win=hosts&whichTab=licensed_history&t=600
(Racers & Hosts online... History... 600 days)

2) Have you actually read what this thread is about? I don't get the idea of complaining "X isn't happening" on the thread which is all about "X is happening".

3) You have probably forgotten that, due to piracy, this business was no longer earning us enough to live on by the end of last year. The new mod system (offering something that pirates don't have) in conjunction with the new anti-piracy measures has meant that more people buy a license instead of taking the piracy route and now we earn enough to live on. So that's helpful, unless you would prefer us to stop working on LFS.

Hey Scawen,

It's really great to hear about the work you do on new physics, and sorry that the LFS seems like not making enough income. Personally, I bought S3 because of to support you guys, most of the time I'm playing S2 or demo content anyway. I really like to see the new tire physics and updated graphics, and I'm ready to support devs as I can.

But the situation is not that straightforward. We heard about the new tire physics back in 2009. It's 10+ years ago. According to your post, LFS makes enough money in these 10+ years to your and LFS dev's needs. And yes, we see the active development in these years, but no too active. In 2022 there is already 4 new version thanks to mods and the event calendar. But back then there is only 1 new version in 2021 with minor updates, we don't get any new version in 2020. In 2019 we get updates for VR gaming, which is also a minor update and does not affect many players. And we can go back in time, there are 1-1 updates in years most of them minor updates only. (not all of them)

According to this, it's not strange there are community members who are dissatisfied and they can't be happy with the updates.
But no offense, I really like LFS, and great to see there is progress.
OpenXR, 'Next-Gen' VR support and best clarity in a HMD
Ross Burton
S3 licensed
I have always been impressed with LFS for really trail-blazing racing sim VR. It's still a 'go-to' when someone (and now my kids) want to experience 'VR racing'. The combination of fun cars and tracks, proper 3D mirrors, presence, and high frame rate seem to make for the most immersive set-up.

In the past month I've been experimenting with combinations of SGSS and MSAA, OpenXR (mostly in Assetto Corsa) and Foveated Rendering to get visuals on the HP Reverb G2 that, for the 20deg sweetspot, rival the Varjo Aero in Assetto Corsa. And importantly will do so at a solid 90FPS.

So my question is whether there are plans to move the VR support forward? Any plans for OpenXR support, and perhaps open the door to eye-tracking? It would be great to see LFS maintain cutting-edge from a VR perspective; OpenXR would be a good step.

And is anyone else tinkering with maximising visual clarity in VR in LFS? Or experimented with HMDs and got tips to share as to how to configure to get the best experience?


I did try OpenComposite today, it launched a couple of times - I noted in the 3D options I now had a bar to set the render resolution, which I've never seen before, and it picked up my OpenXR 150% SS as default - but after crashing it now gives me a 'Headset Tracking not detected' error when launching unless I stick back to 'SteamVR' mode. I'll have a bit more of a play over the weekend.
FGED GREDG RDFGDR GSFDG