6 ms·
Running Windows Games on a Hobby OS with Wine
- spwa4 3mo agoI wish people would start with a "rom format" for windows games. There's so many old games and no standardized way to run them.
- trollbridge 3mo agoScummVM has effectively done this.
- giancarlostoro 3mo agoYou mean ISOs? ;)
- draginol 3mo agoI think he means where the DOS/config is all set up too. Sort of like a really small VM.
- giancarlostoro 3mo agoIt was a joke, because ISO is a file copy of a CD-ROM disc. ;)
- lproven 3mo agoDOS mostly predates CD-ROM. The DOS heyday was the 1980s. No officially-released version of DOS contains generic CD-ROM drivers; the last few DOSes (MS-DOS 6.x, DR-DOS 6/7) contain the redirector (`MSCDEX.EXE` or equivalent) but not the device driver. From 1992, Windows 3.1 rapidly took over. The first mass-market CD-ROM drives were the mid-1990s, and ATAPI CDs that could attach to an EIDE interface only became common in the latter half of the 1990s, when Windows 95 was the default PC OS. Microsoft never shipped any version of Windows 3.x on CD; I used to have a Gateway 2000 WfWg3.11 CD in my travelling toolkit, just in case. Windows 95 originally shipped on 13 1.4MB floppies. https://archive.org/download/microsoft-windows-95_202404 https://archive.org/download/microsoft-windows-95_202404
- giancarlostoro 3mo agoThe original comment was regarding Windows not specifically DOS, someone else inferred DOS from the comment. On that note, FreeDOS does support CD-ROM.
- lproven 3mo agoI know. (I've reviewed it and am on its mailing lists; I've contributed a tiny handful of fixes to FreeGEM.) So does the Win98 emergency boot diskette. But both post-date Win95.
- MisterTea 3mo agoYou mean a packaged file that one simply runs? Isn't that the installer?
- nehal3m 3mo agoAn installer extracts and moves a bunch of files from a blob to the filesystem, writes registry values (on Windows anyway), sets environment variables, sets up services, permissions and a bunch of other things, does it not? A ROM is a binary blob that some executable accepts as input and interprets, the executable being the emulator, which simulates the target hardware well enough that the ROM's machine code runs as if it were on the original silicon.
- MisterTea 3mo agoI was being facetious captain obvious.
- sudobash1 3mo agoI don't think it is supported anywhere else currently, but Batocera has a simple wsquashfs format. It is basically the game compressed into a squahsfs. Then it can be managed as simply as other traditional ROMs: https://wiki.batocera.org/systems:windows#folder_compression https://wiki.batocera.org/systems:windows#folder_compression
- vinc 3mo agoImpressive! I like the goal of making a hobby OS viable as a daily driver. I've been working on my own hobby OS for half a decade. It does a lot less, but it has helped me realize that we can remove much of the complexity of a generic mainstream OS while still meeting our personal computing needs. I know I'm just poorly reinventing something between DOS and Unix/Plan 9 in an extremely limited fashion, but it's absolutely perfect for experimentation!
- Chu4eeno 3mo agoThis, I assume?: https://github.com/vinc/moros https://github.com/vinc/moros Pretty impressive, you've gotten much farther than I ever did (I didn't have the patience to implement all the borderline boilerplate an OS needs).
- vinc 3mo agoYes thanks! I remember all the things I needed to implement before reaching userspace, it's a lot indeed. After that it gets easier because every new change is motivated by a specific smaller goal like supporting the network card of a new laptop, or adding sounds to the emulator, or adding one more syscall or device file. You get rewarded by new capabilities after each addition.
- da-x 3mo agoWhile I like the idea of starting a hobby OS, but the most despairing thing about it that to be useful it would always have to implement 'legacy' interfaces of other OSes. That is, it cannot stand on its own and create a new ecosystem, instead it has to interface to the world and implement TCP, POSIX, know formats widely used files and such. You end up with an OS kernel that talks Linux/Win32 and takes on a lot of compat code, protocols, and other paradigms. I wonder what a hobby OS would have looked like it if it assumed nothing, that is, as a thought experiment, as if aliens on another planet invented computing and started writing OSes from scratch. Imagine we discover software from another planet that would not even work with 8-bit bytes, for instance.
- linguae 3mo agoRob Pike of Plan 9 and Go fame lamented this back in 2000 in his “Systems Software Research is Irrelevant” talk: http://herpolhode.com/rob/utah2000.pdf http://herpolhode.com/rob/utah2000.pdf I’d love to see a new operating system that explores radically different APIs for applications. The trouble is writing an operating system is a large effort. Barring market effects, OS has to be heads-and-shoulders better than existing ones in order to convince application developers to write software for it. Windows, macOS, and Linux are good enough for most people, even techies. Additionally, it is often easier to modify an existing operating system such as Linux than to go through the trouble of writing a brand new operating system.
- WhyNotHugo 3mo agoIt's really hard for new designs to thrive outside hobby/research usage. Linux/BSD have massive hardware support, where a new OS needs to start from scratch. The same is true of software support: a new OS that truly has new primitives either adds a POSIX layer (and all POSIX-like software can't benefit from many of its improvements). Even once you get past hardware and software support (both herculean tasks) performance needs years of hard work to be comparable to mainstream OSs. And don't even get me started on the ever-growing complexity in standard protocols: HTTP2/3? QUIC? TLS? All "doable", but also huge sinks for time and effort when you already have a huge list of things to deal with.
- 3mo ago
- int0x29 3mo agoHonestly the most interesting thing to me would be how they got GPU drivers working for a hobby OS. I suspect this was difficult. Unfortunately the blog makes no mention of it.
- bionsystem 3mo agoI remember reading about the minecraft port earlier, very impressive work ; those writeups are a great read too.
- univocal 3mo agoI remember Wine being extremely interwined with XLib not just for the OpenGL rendering backend but also for the windowing and widget/UI rendering interfaces. Is this port running natively without using an X server / emulator?
- bri3d 3mo agoNo? The article extensively discusses the use of XOrg. With that said, the Wine graphics abstractions are a lot better now and there are many working backends (winex11, winemac, winewayland, winehaiku, etc.)
- toast0 3mo agoThe screenshot shows an Xterm, I'd assume there's an X server running?
- pbohun 3mo agoIt's kind of crazy that we have a hobby OS that supports Linux infrastructure so that can support Wine infrastructure to support a Windows application. Very impressive!