38 ms·
All Oculus Software and VR applications must be stored in C:\ drive
- keyle 11y agoSeems fair enough for a fairly new software.
- taneq 11y agoOculus VR was founded in 2012, and bought out by Facebook in 2014. It's not like they just bashed out a demo on the weekend, this is meant to be production-ready code.
- mappu 11y agoUntil recently (CV1 engineering samples), the only publicly available software that could be reasonably considered "Oculus Software" was the driver and its configuration utility, clocking in at about ~50MB installed. The support article in question is (presumably) referring to Oculus Home / Oculus Store, which (presumably) don't date back that far.
- fungos 11y agoDon't think so. It looks more like some really bad choices mostly like bad dependencies or hard-coded things or something else. But to me this reflects the product quality and most importantly a big yellow warning on software quality.
- brudgers 11y agoTo me, closely following the standards for Windows means less code and in particular less code that introduces edge cases for the sake of edge cases.
- brazzledazzle 11y agoIs "installing only to C:\" an actual Windows standard? I'm fairly certain Windows doesn't have a problem installing software to different drives.
- brudgers 11y agoPer the article Occulus installs to C:\program files(x86)\ and that is the standard location for 32 bit (x86) program installation on Windows 64 bit systems. Many, but not all programs [obviously] can be installed at non-standard locations. See Installer and Logo Certification Requirement 2.4 here: https://msdn.microsoft.com/en-us/library/windows/desktop/aa372825(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/desktop/aa3...
- imron 11y agoIt's not standard - at least not per any official MS documentation. There are specific API calls you are supposed to make to query the program files directory, which will be different depending on whether you are a 32bit or 64bit program, and where the user/administrator has configured the program files folder to be. This is also like windows programming 101, so I'm honestly a bit shocked to see oculus dropping the ball on this.
- cnvogel 11y agoSpecifically https://msdn.microsoft.com/en-us/library/windows/desktop/bb762188(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/desktop/bb7... https://code.msdn.microsoft.com/windowsapps/CppShellKnownFolders-7df114ad https://code.msdn.microsoft.com/windowsapps/CppShellKnownFol... hr = SHGetKnownFolderPath(FOLDERID_ProgramFiles, 0, NULL, &pszPath);
- drawkbox 11y agoIt probably started with a // TODO add file path system. Then they just got to building and it just never got on the update finished list, and many developers started using it internally. Now it is hard to do, or there are so many devs noone thinks it is their job as it isn't completing their milestones for ship. These situations probably got thicker when they were purchased by Facebook. Could have taken 1-2 days in early development max or even 5 minutes at the start, but now it is layers thick. This can happen to many systems either from external libraries, quick prototyping without cleanup or other reasons that just stick around. Then some unluckly schlup gets stuck with the 'Pathing Issue' that turns into a 3 month ordeal, everyone feels sorry for the coder and his life is ruined for months. It could also be those situations where everything was done in '5 minutes' but ends up sapping 3 months of dev time fixing. This happens often in game development, 'Hey dude I whipped up an AI system in five minutes' and then it works but doesn't work, then ends up being the source of bugs for most of the project. Watch out for the '5 minutes' architecture. Hopefully this isn't a sign of quality across the project.
- valine 11y agoWell that's weird. Must have something to do with the Windows registry. Maybe someone who knows more can elaborate.
- taneq 11y agoHard coded paths in a library, maybe?
- brudgers 11y agoC:\program files(x86)\ is where 32 bit programs go on Windows. Just like fstab goes in \etc on Linux. Generally, putting program files elsewhere winds up being a user managed pain in the ass at best and breaking dependencies at worst...by which I mean that eventually a user winds up with some program that won't run from K:\my programs\, if you don't believe me, well here's an example.
- nightski 11y agoSorry but this is just not true. Steam, Origin, UPlay, and just about every other gaming marketplace allows you to install the gaming library anywhere you went. Heck steam allows you to straight up and move the steam folder anywhere, delete everything but the games and the steam.exe and it will repair itself.
- kirrent 11y agoSteam only added the ability to store games elsewhere relatively recently. It was a long sought after feature that took ages to implement. I doubt it was really easy and just a case of no-one caring.
- nightski 11y agoBy recently you mean in the last 5-10 years. It has been around for ages. Is it easy? Probably not but that is irrelevant because the competition already does it.
- FLGMwt 11y agoOdd that the twitchy front page of /r/Oculus made it's way on the front page here, but I'll echo the ever-present Oculus founder's response that addressing this is pretty high on their roadmap. Sauce: https://www.reddit.com/r/oculus/comments/4bd31n/oculus_software_and_vr_applications_must_be/d18dw80 https://www.reddit.com/r/oculus/comments/4bd31n/oculus_softw...
- hiddencost 11y agoPalmer said that fixing it was nontrivial. I wonder if that's "nontrivial because all software needs to be tested carefully even though it's just adding a configurable path" or "nontrivial for reason that are deep into OS fundamentals"?
- joeld42 11y agoMy guess would be that once you allow something other than C:, you're opening things up to running games off of all kinds of weird devices like external USB drives, flash sticks, weird legacy hardware, network drives. This makes the problem of streaming assets a lot more challenging. Some techniques, like mmap'ing resources in, might require a NTFS formatted drive. Limiting you to running off the system drive sidesteps a lot of those problems, and lets you make certain assumptions (e.g. it's probably NTFS and reasonably fast). Also, drives that are not C: tend to disappear and reappear relatively frequently. Having a launcher have to check and handle it semi-gracefully is not simple. If you make people keep things on C:, they are more likely to stick around.
- ygra 11y ago> e.g. it's probably NTFS It has to be since Vista.
- jxdjsks 11y agoI really cant see a reason for this. I would be quite surprised if there was a reason for this other than, the original developer/s working on the software/installer were inexperienced and didn't consider installing to a secondary drive important. Once you've made a decision like this at the outset it can be quite awkward to undo, the hard coding kind of leaks its way into lots of different corners of the appliction.
- FLGMwt 11y agoFWIW, this looks like it might only apply to games purchased through Oculus Home, the Steam equivalent for the Oculus Rift (or perhaps the UPlay equivalent). Games/experiences that aren't distributed via Oculus Home (SteamVR, Steam games w/ Oculus support, independently distributed games) appear to not be beholden to this limitation.
- eghad 11y agoFor the DK2 maybe, but for CV1 this limitation is probably imposed by firmware (something that would be widely known if not for the NDA). Wouldn't surprised if this happens to be the result of whatever DRM they're employing. It's an annoyance for users that use SSDs or multiple partitions; I know I can use a symlink (I doubt all Oculus users will though), but the fact that this was overlooked is a little absurd. Fingers crossed for a day one fix, or at least an actual explanation.
- stordoff 11y agoProbably not a deal breaker for most, but it seems a little weird that they didn't plan for this. Surely a relatively small SSD for OS + large HDD for games etc. isn't that unusual for Oculus' target market?
- imaginenore 11y agoIsn't is the opposite? SSD for OS, programs and games, HDD for stuff like photos, videos, movies? Once I moved the games to SSD, load times improved tremendously.
- daurnimator 11y agoI'm in the top poster's category (as are many of my friends): On my gaming PC, the SSD is only 128GB; which can fit the OS on it and not much else. I then have a 2TB hard drive for games (which is 60% full). documents/photos/videos/movies I keep on my NAS where I can back them up and sync between devices.
- stordoff 11y agoIdeally, yes, the games would also be on SSD, but I've had my Steam library on a separate HDD for a while. I can get a 2TB HDD that is fast enough for me for around £60, which would store most of Steam library. Spending a similar amount on an SSD would only get around 240GB storage, which could be filled quickly depending what you want to play (random example from the Steam homepage: XCOM2 requires 45GB storage). I'd love to upgrade all my storage to SSDs, but the cost/benefit ratio isn't that great IMO (it's improving, so may be a non-issue in a few years). FWIW, photos/videos/movies get stored on my NAS (4x3TB;RAID5) unless I'm editing them in Premiere. Edit: fixed typo.
- wlesieutre 11y agoWhile I'd like to keep games on an SSD and get those fast load times, you can only fit so many 40GB installs on a 128GB drive. Especially if you use the computer for anything else. Frequently played or smallish games I keep installed on the boot drive, but plenty of them get bumped to the data drive. It's either that or uninstalling them.
- Bjartr 11y agoNot that big a deal, it's easy to use junction points / symlinks across drives.
- PhasmaFelis 11y agoRule #1 of interface design: "Easy for me does not mean easy for the user." You or I can immediately see the need for a symlink and implement it. The average gamer has probably never heard of such a thing, and it might take several hours of increasing frustration to discover that Oculus won't install on their game drive, look for solutions, learn what a symlink is, and figure out how to make one. And even without that, if you fucked up but it's easy for the customer to fix, you still fucked up. That's not an excuse.
- Bjartr 11y agoOh, I certainly it's a UX travesty from that standpoint. I was more commenting from the perspective of why it's not quite as bad as the title makes it out to be.
- PhasmaFelis 11y agoWhat I really love is that it has to go in "Program Files (x86)" specifically, even though the Rift requires 64-bit Windows.
- chetanahuja 11y agoParty like it's 1999 !!
- static_noise 11y agoThis is what happens when your devs get the machines they want and not the machines their customers have.
- chipperyman573 11y agoAlthough, to be real, if you're running an Oculus, you have something similar to the machine the devs want. That said, SSD boot drive isn't super uncommon.
- ocdtrekkie 11y agoIf you have the specs for a Oculus Rift, and your C:\ drive ISN'T an SSD, you did something wrong when you specced out your PC. All of my games go on a secondary drive. Of course, I also didn't spend $600 on a early version VR headset, so I guess I've got time to wait for the update. :)
- hyperion2010 11y agoUnless you explicitly got a drive to put games on because you got sick of installing and uninstalling them all the time because you thought it wasn't 1995 any more.
- metafunctor 11y agoOver here, devs want two Samsung 950 Pro on M.2, raid-0, for a 1TB boot/OS drive. The rest of it is also going to be SSD space, but C: will only be 1TB (or maybe less if they dual boot to Linux). edit: typos
- matt_wulfeck 11y agoWhere is "here" and what would a dev do with that sort of disk IO other than perhaps video editing?
- pandaman 11y agoI don't know where is "here" but I have no problem using disk IO - my C++ builds are IO bound.
- nzoschke 11y agoI haven't had a C:\ drive in a decade.
- ocdtrekkie 11y agoObviously "I'm proud I'm not a Windows user" comments are kinda irrelevant for an article about a device that currently only works on Windows, am I right?
- shmerl 11y agoYeah, so much for their Linux support.
- mappu 11y agoThis is really AMD and NVIDIA's fault, not Oculus'. Hitting 90fps is hard enough without taking a sizable performance hit from the linux graphics stack. Valve pulled a similar move a while back where they prevented people on OS X from playing games they had paid for (Portal), because the combination of macbook IGP and OS X's OpenGL implementation dropped framerates to unplayable levels. The game ran fine on Windows on the same hardware.
- shmerl 11y agoMay be they can use Vulkan now.
- pipeep 11y agoOS X isn't getting Vulkan (as far as I can tell). Apple's pushing Metal instead.
- shmerl 11y agoI mean Oculus on Linux. I wouldn't worry much about OS X - it's being phased out by Apple apparently, and Apple's mobile hardware won't handle VR either way. So Apple's platforms won't really be a worthy target for it.
- mappu 11y ago>This is near the very top of our roadmap ... we are still in the process of rolling out our support pages, don't take anything as final yet.
- hyperion2010 11y agoThe fact that this is hard to implement is a sad, sad, reminder of how shitty backwards comparability can be. How, over the past 30 years has someone at MS not taken the time to write a real abstraction for the file system? When I first switched to linux 10 years ago I though 'Oh cool, you can mount stuff wherever you want, why would you do that?!' Now it saddens me to realize that the vast majority of computer users have never actually learned to use a file system despite the fact that they are one of the most useful information management tools ever invented, probably second only to the card catalog.
- ryandrake 11y agoWow... The Sea Drive. Brings back memories of those weird systems I had to use in the dark, distant past, where programs had to inexplicably be aware of what physical device a file was on in order to access it.
- yason 11y agoFunnily enough, not just the fact that users and developers need to care about drive letters, the drive C: itself is called drive C: because drives A: and B: were reserved for floppy drives. And I don't think many machines have had floppy drives in the 2000's. Linux has had a unified directory tree since the early 90's where it completely doesn't matter which drives host which directories. Implementing such a tree on Windows and mapping "C:", "D:" etc. as pseudo-roots to suitable locations to make it backwards compatible would not be an insurmountable task. Surely not trivial, but even on Windows application programs do not write to physical drives directly which gives the filesystem an opportunity to do any path translations it wants to. Thus, the question becomes a matter of will: Why hasn't Microsoft considered it important to fix their drive accesses? What do they see as the advantage of having drives mapped to drive letters? It's certainly not usability: Linux can produce "drive icons" for each mounted drive. You plug in a USB stick and its icon shows up on the desktop――all this regardless of whether the USB stick is actually mounted in /mnt/$STICK or /media/$USER/$STICK or wherever. They could also support mounting extra drives to directories under C: so that the user would never have to deal with other drive letters. The "C:" would just be a historical prefix but in practice it wouldn't matter because you could mount your second disk at C:\Program Files\ and the applications wouldn't even know about it. I vaguely remember that WinNT kernel could actually do this, however it's apparently well-hidden from users because I don't see this having been set up anywhere.
- charonn0 11y agoYou can mount a volume, even one that is already mounted with a drive letter, under any empty NTFS directory. [1]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365733(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/desktop/aa3...
- josteink 11y agoWhile this is true, most Windows software is not prepared to treat this as a volume. And you still need the root to be a drive-letter in itself.
- 11y ago
- altitudinous 11y agoMinimum viable product.