JusSav
Posts: 1
Joined: Wed Nov 23, 2011 10:12 am

Re: DOOM3 source code released

Wed Nov 23, 2011 10:19 am

Hi, DOOM3 source code is released.
https://github.com/TTimo/doom3.gpl

It would be interesting to see if Raspberry Pi can run DOOM3. Ouake 3 i think went well :)

mard0
Posts: 52
Joined: Wed Oct 26, 2011 4:23 pm

Re: DOOM3 source code released

Wed Nov 23, 2011 10:38 am

Quake 3 uses the id 3 tech engine. Doom uses the id 4 tech engine with quite a different hardware requirement. Doom 3 wouldn't even run on a playable speed at full on my 512mb graphics card.

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5202
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: DOOM3 source code released

Wed Nov 23, 2011 11:38 am

Sadly, it probably won't run - the hardware requirements are pretty high. Processor power and RAM on the Raspi won't be sufficient. Boo.
Director of Communications, Raspberry Pi

Narishma
Posts: 151
Joined: Wed Nov 23, 2011 1:29 pm

Re: DOOM3 source code released

Wed Nov 23, 2011 1:34 pm

It will require some modifications (like switching to OpenGL ES) and optimizations but I think it should be able to run on the Pi. There's a version for the original Xbox, which has a faster CPU and weaker GPU compared to the Pi and only 64MB of RAM.

User avatar
Method
Posts: 30
Joined: Tue Nov 08, 2011 4:58 pm

Re: DOOM3 source code released

Wed Nov 23, 2011 2:36 pm

The xbox has a GPU. The Pi doesn't. It won't run.

User avatar
Montekuri
Posts: 449
Joined: Thu Sep 22, 2011 6:26 pm
Contact: Website

Re: DOOM3 source code released

Wed Nov 23, 2011 2:52 pm

Quote from Method on November 23, 2011, 14:36
The xbox has a GPU. The Pi doesn't. It won't run.
The Broadcom BCM2835 used in R-Pi device is a GPU.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23966
Joined: Sat Jul 30, 2011 7:41 pm

Re: DOOM3 source code released

Wed Nov 23, 2011 3:05 pm

The 2835 is a 700MHz Arm11 AND a VideoCore IV GPU in the same package. On top of that package is a 128 or 256MB PoP RAM package.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: DOOM3 source code released

Wed Nov 23, 2011 8:17 pm

Quote from Narishma on November 23, 2011, 13:34
It will require some modifications (like switching to OpenGL ES) and optimizations but I think it should be able to run on the Pi. There's a version for the original Xbox, which has a faster CPU and weaker GPU compared to the Pi and only 64MB of RAM.

The only problems there that I see is the RAM profile optimizations to have shoehorned it into an X-Box classic aren't present in this codebase. You're going to have to have some pretty skilled people go over it and do the wedging for the attempt.

gatto
Posts: 17
Joined: Fri Nov 11, 2011 7:17 pm

Re: DOOM3 source code released

Wed Nov 23, 2011 10:15 pm

http://www.3dfxzone.it/enboard.....IC_ID=1462

He's running it with 256MB RAM... ;)

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: DOOM3 source code released

Wed Nov 23, 2011 10:42 pm

Quote from gatto on November 23, 2011, 22:15
http://www.3dfxzone.it/enboard.....IC_ID=1462

He's running it with 256MB RAM... ;)

Okay... That was quick (and impressive...). But still not analogous.

Where do you think his GPU got it's memory and where does the R-Pi get it from? I guess it's going to boil down to whether it will skinny down to about 192Mb of system profile and play nicely enough with the GPU to run. Only one way to find out and that's to try.

portets
Posts: 186
Joined: Sat Oct 29, 2011 6:24 am

Re: DOOM3 source code released

Mon Nov 28, 2011 3:30 am

Quote from Svartalf on November 23, 2011, 22:42
Quote from gatto on November 23, 2011, 22:15
http://www.3dfxzone.it/enboard.....IC_ID=1462

He's running it with 256MB RAM... ;)

Okay... That was quick (and impressive...). But still not analogous.

Where do you think his GPU got it's memory and where does the R-Pi get it from? I guess it's going to boil down to whether it will skinny down to about 192Mb of system profile and play nicely enough with the GPU to run. Only one way to find out and that's to try.

wow, that's really impressive! he was using windows 98. our skimmed down linux distro may use less ram and cpu power than 98 does. and his gpu is a voodoo 2 with 12 mb of ram. pretty sure the rpi's gpu is more powerful than that, though it borrows main ram.

also, now that the source is released, it can be optimized much further than what that person did. overall, i think this looks completely feasible.

edit: he's using 2 voodoo 2 12mb in sli. that's a total of under 0.5 gigapixel fill rate vs the raspi's 1 gigapixel. and his vram only totaled to 24mb. with tweaks to our distro and to the doom 3 source, we could definitely outdo that person's performance. he also ran it at 800x600 60fps. we could run it at 640x480 30fps and get better quality.

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: DOOM3 source code released

Mon Nov 28, 2011 8:29 pm

Quote from portets on November 28, 2011, 03:30
wow, that's really impressive! he was using windows 98. our skimmed down linux distro may use less ram and cpu power than 98 does. and his gpu is a voodoo 2 with 12 mb of ram. pretty sure the rpi's gpu is more powerful than that, though it borrows main ram.

There's a reason I said it was impressive. The biggest concern, one that you're side-stepping a bit, is that the R-Pi's GPU uses the system RAM- and for a ES 2.X based GPU path, you're going to need slightly more ram than the 24Mb (SLI would double the card memory available...) that he had in hands. I'm not going to say you're not pulling this off with a model A if it's doable- it's just going to be a feat unto itself if it happens. Don't forget, he has an additional 24Mb of memory available to him on this stunt that we won't under any circumstances.


also, now that the source is released, it can be optimized much further than what that person did. overall, i think this looks completely feasible.


Oh, I didn't say it was impossible, I just think the CPU/RAM issues are going to be where you're going to spend your time banging your head on the wall over for a while if you attempt it. :D

RITRedbeard
Posts: 22
Joined: Mon Aug 01, 2011 6:02 am
Contact: Website

Re: DOOM3 source code released

Wed Nov 30, 2011 3:14 am

Quote from Svartalf on November 23, 2011, 22:42
Okay... That was quick (and impressive...). But still not analogous.

Where do you think his GPU got it's memory and where does the R-Pi get it from? I guess it's going to boil down to whether it will skinny down to about 192Mb of system profile and play nicely enough with the GPU to run. Only one way to find out and that's to try.

I have little to no experience with ARM and embedded but I would guess that a certain amount of memory is put aside for addressing to GPU.

If you can adjust the amount is unknown, but I agree that it is something worth knowing (how it works). :)

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: DOOM3 source code released

Wed Nov 30, 2011 11:36 pm

Quote from RITRedbeard on November 30, 2011, 03:14
I have little to no experience with ARM and embedded but I would guess that a certain amount of memory is put aside for addressing to GPU.


It's more akin to embedded than ARM. You've got a unified memory profile that goes partly to GPU and partly to other devices with the embedded SoC's. It's typically set aside at boot or dynamically allocated through a module's load-up (though with a fixed size throughout the duration of operation). It varies from GPU to GPU. I'd presume 16-32Mb allocated specifically to the GPU and then whatever they opt for bookkeeping on the userland side. In the case of the linked example, the bookkeeping came out of the 256Mb CPU memory, but the GPU had 24 Mb of dedicated RAM. In the case of the R-Pi, if we allocate 24Mb of RAM to GPU, we take 24Mb away from what the CPU can do. Makes for it being "tight" on the Model A at the minimum- even if this is doable. There might not be quite enough CPU muscle to drive the game there still.

portets
Posts: 186
Joined: Sat Oct 29, 2011 6:24 am

Re: DOOM3 source code released

Thu Dec 01, 2011 1:01 am

Quote from Svartalf on November 28, 2011, 20:29
There's a reason I said it was impressive. The biggest concern, one that you're side-stepping a bit, is that the R-Pi's GPU uses the system RAM- and for a ES 2.X based GPU path, you're going to need slightly more ram than the 24Mb (SLI would double the card memory available...) that he had in hands. I'm not going to say you're not pulling this off with a model A if it's doable- it's just going to be a feat unto itself if it happens. Don't forget, he has an additional 24Mb of memory available to him on this stunt that we won't under any circumstances.

windows 98se is a resource hog. taking about 128mb of ram, 64mb if slimmed down a bit. he had 256mb of ram + the 24 from his gpu = 280. let's say his 98se used 64mb. 280 - 64 = 216.

so now he has 216mb all available to doom 3. doom 3 may not have used it all, or it used swap space on his sdd.

if we could allocate only 16mb to the gpu on a model b raspi(and play at 640x480 instead of his 800x600(lower res=less vram usage)), and if our slim distro uses 30mb, we would have the same exact amount of ram as him. plus we can have swap partitions as well. with doom 3 source released, we can fairly easily remove ram hogging features from the game, too.

you're completely right about the cpu though :D
that may be hard to optimize for. if somebody was serious enough though, they could mod the code to offload some cpu work to the gpu instead, seeing as the raspi's gpu is theoretically more powerful than his dual voodoo 2's.
that's talking about a serious project though. :P

but with all this said, i'm not much into first person shooters anyway.

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: DOOM3 source code released

Thu Dec 01, 2011 7:40 pm

Quote from portets on December 1, 2011, 01:01
if we could allocate only 16mb to the gpu on a model b raspi(and play at 640x480 instead of his 800x600(lower res=less vram usage)), and if our slim distro uses 30mb, we would have the same exact amount of ram as him. plus we can have swap partitions as well. with doom 3 source released, we can fairly easily remove ram hogging features from the game, too.

You're making a mistake there. You're presuming that the RAM usage between arches are fungible as well as between Linux and Windows. You SAY that one can fairly easily remove RAM hogging features from the game- and you said it to a person that ports titles professionally. ;)

It's not always as easy as you're making it out to be. I'm not saying it's impossible, just going to be "fun" on that score.


that may be hard to optimize for. if somebody was serious enough though, they could mod the code to offload some cpu work to the gpu instead, seeing as the raspi's gpu is theoretically more powerful than his dual voodoo 2's.
that's talking about a serious project though. :P


Which would put more RAM pressure on the CPU side because you're stealing RAM from it to do the GPU coding. I'm not saying it's unrealistic- just that it's going to be "really fun" in the masochistic sense if you go down that route... ;)

R4V3N0U5
Posts: 28
Joined: Tue Oct 25, 2011 7:26 pm
Contact: Website

Re: DOOM3 source code released

Thu Dec 01, 2011 9:40 pm

I'm surprised that nobody has pointed out the fact that it was not DOOM3 that was open sourced; merely the graphics engine was.

With that being said, you can't play an engine alone you need character models and textures and the like. I'm sure some creative people will be able to make some use of this but I don't imagine we'll be seeing an R-Pi optimized version without the rest of the games files being opened sourced.

Narishma
Posts: 151
Joined: Wed Nov 23, 2011 1:29 pm

Re: DOOM3 source code released

Thu Dec 01, 2011 9:53 pm

Quote from R4V3N0U5 on December 1, 2011, 21:40
I'm surprised that nobody has pointed out the fact that it was not DOOM3 that was open sourced; merely the graphics engine was.

With that being said, you can't play an engine alone you need character models and textures and the like. I'm sure some creative people will be able to make some use of this but I don't imagine we'll be seeing an R-Pi optimized version without the rest of the games files being opened sourced.
You can just require the user to get the data from an official release. Or provide a script to do it automatically.

bnolsen
Posts: 76
Joined: Sat Aug 13, 2011 5:37 pm

Re: DOOM3 source code released

Thu Dec 01, 2011 10:56 pm

Texture packs are fun, very fun. I suspect we won't ever see doom running at 1080p.

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: DOOM3 source code released

Fri Dec 02, 2011 12:46 am

Quote from R4V3N0U5 on December 1, 2011, 21:40
I'm surprised that nobody has pointed out the fact that it was not DOOM3 that was open sourced; merely the graphics engine was.


Very astute point.


With that being said, you can't play an engine alone you need character models and textures and the like. I'm sure some creative people will be able to make some use of this but I don't imagine we'll be seeing an R-Pi optimized version without the rest of the games files being opened sourced.

Depends on whether the stunt that the person did with the two waaay older GPUs and machine can be expressed on the R-Pi directly or not- and whether or not the devs doing it can handle asking the right people the right questions to get permission for a follow-on publishing of the stuff tuned for mobile devices or not. :D

reallynotnick
Posts: 12
Joined: Fri Nov 18, 2011 7:01 pm

Re: DOOM3 source code released

Fri Dec 02, 2011 8:16 pm

If the SLI on the Voodoo cards he is using is anything like todays cards it does not double the VRAM. If you pair up two cards it will be the max amount of the VRAM of the card with the lowest amount, so two cards with 1.5GB and 1GB would only have 1GB of VRAM.

Also there could be other uses for the ID Tech 3 engine than just running Doom 3. People could use it to develop games and learn on the Raspberry Pi, even if they didn't have the visual fidelity of Doom 3 it would be a very good code base to work and learn from.

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: DOOM3 source code released

Fri Dec 09, 2011 9:25 pm

Quote from reallynotnick on December 2, 2011, 20:16
If the SLI on the Voodoo cards he is using is anything like todays cards it does not double the VRAM. If you pair up two cards it will be the max amount of the VRAM of the card with the lowest amount, so two cards with 1.5GB and 1GB would only have 1GB of VRAM.

Okay, I couldn't remember whether that was the case or not. Given 12Mb of RAM, that's pretty damned impressive. I guess if he's released the patches we can see what we can do to make it all work- IF the CPU can push things hard enough.


Also there could be other uses for the ID Tech 3 engine than just running Doom 3. People could use it to develop games and learn on the Raspberry Pi, even if they didn't have the visual fidelity of Doom 3 it would be a very good code base to work and learn from.

You're preaching to the choir here. As a second career, and vocation, I port games from Windows to Linux. ;)

User avatar
Jessie
Posts: 1754
Joined: Fri Nov 04, 2011 7:40 pm
Location: C/S CO USA

Re: DOOM3 source code released

Fri Dec 09, 2011 9:36 pm

Quote from R4V3N0U5 on December 1, 2011, 21:40
I'm surprised that nobody has pointed out the fact that it was not DOOM3 that was open sourced; merely the graphics engine was.

With that being said, you can't play an engine alone you need character models and textures and the like. I'm sure some creative people will be able to make some use of this but I don't imagine we'll be seeing an R-Pi optimized version without the rest of the games files being opened sourced.

I own a copy of Doom 3 somewhere and I'm sure there are others here that buy stuff instead of ripping it off. It isn't hard to get the assets off the disk.

bigeasy_uk
Posts: 2
Joined: Tue Dec 06, 2011 2:08 pm

Re: DOOM3 source code released

Sat Dec 10, 2011 11:27 am

Quote from reallynotnick on December 2, 2011, 20:16
If the SLI on the Voodoo cards he is using is anything like todays cards it does not double the VRAM. If you pair up two cards it will be the max amount of the VRAM of the card with the lowest amount, so two cards with 1.5GB and 1GB would only have 1GB of VRAM.

Todays graphics cards use a different kind of SLI, back in the voodoo days it stood for Scan-Line Interface. From what I remember (it's been a while!) each graphics card processed alternate scan lines and did effectively double the processing power and vram available because each card was only processing half of what was on the screen.

mikeo007
Posts: 1
Joined: Tue Dec 13, 2011 3:08 am

Re: DOOM3 source code released

Wed Dec 14, 2011 4:03 pm

Quote from gatto on November 23, 2011, 22:15
http://www.3dfxzone.it/enboard.....IC_ID=1462

He's running it with 256MB RAM... ;)

Problem with this is that it looks brutal. Quake 3 looks way better than Doom 3 at those ultra low detail settings.

Return to “Other projects”