RobertBeckebans / RBDOOM-3-BFG

Doom 3 BFG Edition source port with updated DX12 / Vulkan renderer and modern game engine features
https://www.moddb.com/mods/rbdoom-3-bfg
GNU General Public License v3.0
1.38k stars 247 forks source link

Rendering error with Arch Linux 64 bit and MESA 11.1.1 #286

Closed headkase closed 8 years ago

headkase commented 8 years ago

Beginning exactly with (compiled all versions up to this one): https://github.com/RobertBeckebans/RBDOOM-3-BFG/tree/29f5488c893314149d09a6b5a8d89b8b2f067457

The game fails to render correctly on Arch Linux 64 bit with MESA 11.1.1, Radeon HD 6870.

See: https://www.youtube.com/watch?v=ft1ts1Q_Hgg

The commit immediately before works correctly.

spannerman79 commented 8 years ago

Are you using the open drivers or proprietary drivers/blob from AMD?

Perhaps that commit was specific to nvidia or that AMD removed the support that the commits call on. Not related but I know Windows side AMD removed support for certain things from their drivers recently-ish. The question is did they do the same for their Linux AMD blob...

ghost commented 8 years ago

Can't confirm on Arch, only have Nvidia on the system. Check in the readme, Robert listed some options which cause issues when enabled alongside other options. Maybe the conflict could be there.

Otherwise like spannerman79 says, it could be your driver. Try both and if you are adventurous try other experimental drivers or possibly even another kernel like the liquorix kernel (Can sometimes break the system) which they optimize for gaming. Last resort, try SteamOS.

RobertBeckebans commented 8 years ago

There are several new render paths and features. First you should try to disable SSAO with r_useSSAO 0.

If that doesn't help disable HDR with r_useHDR 0; reloadShaders

There is no Nvidia specific code although I integrated some shaders by Nvidia however they work perfectly on Intel cards. I develop this stuff with a Nvidia GTX 660 ti and also test my code on a Notebook with an old Intel HD 3000.

headkase commented 8 years ago

Here is video from the head commit ( r591.414a426):

https://www.youtube.com/watch?v=L3nNZBlvhvg

I am using xf86-video-ati - the open-source drivers - and using the proprietary Catalyst drivers are not an option as with Arch that requires some very flaky system hacking to get them to work.

Edit: I apply r_useHDR and r_useSSAO in this video.

DanielGibson commented 8 years ago

I guess the interesting thing is the errors you get when executing reloadShaders, see https://youtu.be/L3nNZBlvhvg?t=28

maybe you could post all the errors that happen after reloadShaders (if you start rbdoom3bfg from a terminal you should be able to copy them from there).

headkase commented 8 years ago

This is what I got (redirected output, rbdoom3bfg > error.txt):

http://pastebin.com/yQf0gwNj

It seems to be cut off at the end even though I redirected output. Hopefully that is enough.

Please feel free to make any other suggestions - anything I can figure out how to try I will.

ghost commented 8 years ago

This is a long shot, maybe make a duplicate of the game in a mod folder and use fs_game with the "fake mod" name. I doubt it will work, but maybe something else will happen.

UPDATE: This issue may be related to the interactionSM/BRDF shaders code. A similar issue arises on another post.

headkase commented 8 years ago

Ok, copied the base folder to a "fakemod" folder. Ran game with rbdoom3bfg +set fs_game fakemod. Mod was used, as my save games were gone, but still rendering errors.

ghost commented 8 years ago

@headkase There is another post with a similar issue, I've update my last message with the details. Both your log and the other users log contained an error related to the BRDF shaders code. I can't compile the new source on Windows to confirm if it does the same on there.

I'll have to go to my storage unit tomorrow and pick up my old laptop which has a X1300 AMD card to test it. I'll also have to do a fresh install of Arch with the Open Source drivers to somewhat match your system.

headkase commented 8 years ago

Ok, thank you very much. I can definitely test any patches you may have or branches or whatnot. Thanks again.

ghost commented 8 years ago

@headkase I don't code for the engine, doing art assets for a branch of RBdoom3. I simply pointed out where the error may be in the log.

headkase commented 8 years ago

Ah, ok. Regardless, I will watch for new releases or branches and test them. ;)

headkase commented 8 years ago

@Yetta1 : there is a build script here: https://aur.archlinux.org/packages/rbdoom3-bfg-git

You can use "makepkg -e" to build with local sources. Put the local sources in "rbdoom3-bfg-git/src/rbdoom3-bfg-git" and move a couple files from the base folder into the src folder. Then a quick build later you have a package you can test with pacman.

nbohr1more commented 8 years ago

did you download the renderprogs folder from:

https://github.com/RobertBeckebans/RBDOOM-3-BFG/tree/master/base/renderprogs

?

headkase commented 8 years ago

Is that included in the master? If it is then yes, if not then I'll hack them in.

nbohr1more commented 8 years ago

It's not part of the code. It's asset files. Your logs say that one of the files doesn't exist. You must add the file. If that file exists then perhaps there's a folder permission problem.

headkase commented 8 years ago

Ok, this seems to be an Arch Linux package problem. The renderprogs are not provided by either the executable or the asset packages. Manually moving renderprogs to the asset directory does indeed correct the issue. I will be sure to go to the relevant pages and point it out. Thank you all.

headkase commented 8 years ago

Noted: https://aur.archlinux.org/packages/rbdoom3-bfg-git

This issue is resolved, please feel free to close if you like Admin.

ghost commented 8 years ago

+1 @nbohr1more Glad it is resolved, posting your answer on a similar issue.

Korvox commented 8 years ago

I just pushed the updated PKGBUILD, so everything should be working now.

headkase commented 8 years ago

Thank you @Korvox I built the new PKGBUILD and it does indeed work correctly. This issue is resolved on all ends. Thank you very much everyone.

RobertBeckebans commented 8 years ago

The renderprogs shouldn't be packaged at all because I usually embedd them into the renderer. This time BRDF.inc was just missing.

headkase commented 8 years ago

Just wanted to conclude with a big thank you to you Mr. @RobertBeckebans - your effort developing rbdoom3 is much appreciated.