I think terminology is very important. Mura is not what that is called. This is something else. We should tell StarVR it’s some kind of messy layer on top that follows wherever you look.
I dont really notice a ‘dirty’ effect no. But maybe I’m less sensitive to it. I don’t want to know what it means because I dont want to start noticing something I dont see now. Google ‘vr godrays’ to see what I mean by, well, vr godrays…
The godrays/halos are more noticeable in StarVR than on my Index, but mostly for white text on a dark background. It’s not bothersome for actual gameplay. @crispybuttphd, you’ll get used to it and eventually forget it even exists.
Okay I kinda see what you mean. It’s the layer that’s visible to the left of the Pavlov menu that has a bunch of those straight lines that are a slightly different color than the rest of the pixels. I think that is mura then. Are you also referring to how the screen gets brighter as you turn? Btw, playing a map looks better than the main menu & server browser.
The screen doesn’t change brightness as I turn it’s just the video. Yea in game it’s ok and I actually really like it for Pavlov since the image is so clear across the entire fov.
The mura seems to be mostly present on dark/semi-dark grays and some other dark colors.
I just checked in IDA. It seems to be a piece of code that, like expected, returns a boolean. It seems it’s pulling it from the driver, which would make sense of course. It’s pulling the data from “\\.\pipe\StarVROpenVRPipe”, a pipe which must have been opened by the driver (haven’t checked though)
Other than that it doesn’t do anything.
I also checked if this API call is being used by the Showdown demo, it’s not! In fact only 5 api calls are being used
I just checked the driver (driver_starvr.dll). It does indeed open that pipe, like expected, so that seems to be the main way of pulling properties from the driver, like that “IsMuraValid” property.
By the way, there are tons of possible mura error output events. Haven’t checked where it’s saving them to, I think you guys said something about mura errors in the log before? Going to see if I can get some more info on that
So, long story short: The driver seems to do mura related initialization things and then sets that property “IsMuraValid” based on the outcome of that process. The property is being exposed via the API, that pulls it from the driver using that pipe that the driver opens.
Could somebody post their vrserver.txt? would be interesting to see what it’s saving related to the mura process
I assume so, that is the file that provided the output info. However, to keep in mind the distinction that the output error was from the ‘previous’ vrserver.txt file and not the current.
Maybe Dmiel642 can provide his to see what it shows
Ok, so the mura related output in the vrserver.txt:
StarVR: Loading Mura correction files...
StarVR: Try loading Mura correction assets for G channel
StarVR: Left and Right Mura correction files loaded successfully
StarVR: Building correction tables...
StarVR: Successfully loaded Mura corrections from disk and created lookup table.
StarVR: Compositor: Successfully initialized Mura Correction
Also in the code I see it’s loading two files that end in _G.CPD. So that’s the Green channel for the left and for the right panel. But it’s not loading the Red and Blue one, there’s no driver code for that in the driver. I’m not sure if that makes sense to anybody? Why would the driver only have code to load the Green channel for mura correction?
I thought that the ‘import’ and ‘export’ function in the “Display optimization” section of the Compass software would import and export to the headsets firmware, but that’s not true!
Each headset has 6 mura files, the PCD files. Two Red, two Green and two Blue (RGB for each panel). These files have a PNG header btw. Anyway, what ‘import’ does is that it copies the files you specify to C:\Users\MYUSERID\AppData\Local\StarVR\mc. So thats the \StarVR\mc directory in your local appdata. Now that’s the directory where your driver loads the files (only the 2 green ones) during startup.
So, export is the reverse, it just copies those 6 files from that \StarVR\mc\ directory to anywhere you want. So, these are just diskcopy commands, nothing more! In fact, you can use those 2 buttons on a PC where never a StarVR headset was attached to and they will still work fine.
So it seems there is no mura data stored on the headset at all! The mura files are in that directory I just specified and the driver loads the two green ones on boot to do the mura correction… That’s the StarVR mura process in a nutshell.
So the StarVR mura correction seems just a driver/software thing (not happening on the headset itself). If a certain green LED is lighter than average, the driver lowers the green intensity for the pixel that corresponds to that frame. But, why it’s only processing green … makes no sense to me.
Maybe they only load green channel because the mura is mainly an issue with green colors on their headset?
Anyways, I’ve been experimenting and here’s what I found:
Image Quality: When I uninstalled the latest Tobii eye tracker and re-installed the compass tool with it’s 2.13.4 version, I noticed that the image quality looked like there was a slightly grainy layer on top and blurriness from a distance. Reading text was no problem, but this graininess was distracting. So then I updated Tobii eye tracker to latest version 2.16.5 and started up the headset again. It looked the same as before which was weird because when I updated eye tracker yesterday, the picture quality had changed. Then I decided to turn off automatic ipd adjustment and set it to 63 or 64mm. I also imported the display optimization files that I had exported from yesterday. This time putting the headset on, I noticed the grainyness was gone. I don’t know if it’s some kind of softnening layer but it made the image more pleasant to look at, and I actually prefer that over the previous image. It looks smoother and easier on the eyes.
Headset adjustment: I realized why I couldn’t get the two upside down Ts to align. I had been wearing the headset wrong the whole day yesterday. The headset was higher up on my face where I could see a little bit of light at the bottom below the black nose gap. But I actually prefered to wear it this way because it made the vertical field of view look bigger. Because of the huge sweetspot it gave me the same clarity. Wearing it this way, I can’t see any black border on the top of my view. When I raised my hand up vertically, I can see it as high as I would in real life. When I lowered the headset so that the top part of the face foam is closer to my eyebrows, I was eventually able to get the Ts aligned green and it measured my ipd as 64.8. Exactly the same as @mixedrealityTV in his unboxing video. But I think their automatic ipd measurement is NOT accurate. When I did it again without fully tightening the back of the headset it measured my ipd as 65.5. A third time, when I quickly tightened the headset before aligning the Ts, it measured 64.3 ipd. My optometrist measured my ipd as 63.
So to conclude, if you are hoping to reduce or get rid of mura try the following:
Install the latest tobii eye tracker. Open the tobii app -> Interactions -> press once on the “Check for updates” button. It should open up a webpage if you have the latest version. After that, start up compass tool, turn off automatic ipd adjustment and set it manually. Export your optimization files and Import them afterwards prior to starting up SteamVR. After that I think you’ll notice the graininess is gone and there is now a softening layer being added. If not, try restarting your PC. Basically, I think the automatic ipd adjustment needs to be set to off by default when starting SteamVR in order for it to trigger, I think.
By the way, does anyone know how to keep the headset lenses on without having to put my face on it to wake it up? I want to do through the lens videos.
“By the way, does anyone know how to keep the headset lenses on without having to put my face on it to wake it up? I want to do through the lens videos.”
turn off Proximity Sensor,
will try what you described above and report back.
also, before re-importing the display optimization file did you delete them in the mc folder in AppData/StarVR/?
If my method doesn’t work, you should try exporting the optimization files with eye tracker v2.13.4 installed, and then import those files after updating eye tracker.
Ok I will dmel642, I’m trying your method from scratch right now.
Could everyone try the hmd without display optimization and see if they can even tell a difference? Just move the file in AppData/local/StarVR/mc in another folder reboot and try again. The star in compass should be yellow asking to run display optimization.
Hey Seb could you pleaseeee try my post just above yours. If would confirm that we know how the Mura correction works if you can tell a difference with the files or without.
Also Sebastian, try setting it to automatic ipd adjustment disabled and wearing the headset higher up on your forehead so that a slight amount of light is visible if you look down below the lenses/nose gap. Wearing it this way keeps the clarity but improves the vertical field of view substantially!