Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Tue May 27, 2014 7:54 pm
by sillyfly
Don't know if this helps or only infuriates, but the game runs fine (if a bit slow) on my Linux with Intel GPU.
I'm running Debian testing, kernel version 3.14.4.
My computer is a Dell Latitude E5430 laptop, with i5 Ivy Bridge processor and Intel HD4000 gpu.
[ 4.623766] [drm] Memory usable by graphics device = 2048M
I don't know how to check what it actually being used, but as I understand it 256 is the default memory allocated to the gpu, and the system may dynamically allocate more, up to 2048.
Tell me if you need more info about my system.
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Tue May 27, 2014 8:32 pm
by kurtiii
Hey MF-,
yes, its the Intel onboard grafics version. I explicitly bought a laptop with strong computing power and no dedicated grafic card, so I won't be tempted to play games during lectures; lucky factorio came out just when I'm about to finish studying .
The "card" can allocate some memory from RAM, up to around 360M total I think; as a reference I could also run "Sengoku" from paradox on medium GFX settings.
Also my system Is a pretty clean install; just some development tools - the rest is left unchanged.
Hope this helps and, as the previous poster stated, doesn't just serve to annoy people
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Tue May 27, 2014 8:36 pm
by MF-
NOTE wrote:This post was written as a reply to sillyfly, but then it was changed to reply to both of you at once.
It's nice that you broke my post streak in this thread.
It felt really wrong to have a me-only thread, since that could mean noone really cares.
Good to know.
I think you didn't miss any important clues.
It's actually nice to hear that there are linux people who can play outside the nvidia group
Note that both of your GPUs have "Core processor" instead of "Mobile" in the name.
Could that be the difference? ("Core processor" possibly labeling a next generation or something)
Although.. If sillyfly-s GPU really has 2G of ram available, it could just be about that.
I am pretty sure that my GPU cannot steal RAM from me. I would for sure notice if half of my 2G RAM went missing
VRAM Theory:
the lspci lists gpu's private memory size,
while the drm line says how much total memory can the card use (i.e. steal from the sytem?)
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Fri Jun 13, 2014 9:40 pm
by Blackence
MF- wrote:It's actually nice to hear that there are linux people who can play outside the nvidia group
Don't worry, I'm a factorio-playing AMD Radeon HD 6870 user on free mesa radeon drivers. So it's even more than just nvidia and some Intel users! (Though you may have noticed the bug report about a bad texture size being used so high-res textures fail. I think that seems like an easy fix now that the reason was found. Hope the factorio guys can work on it eventually )
MF- wrote:VRAM Theory:
the lspci lists gpu's private memory size,
while the drm line says how much total memory can the card use (i.e. steal from the sytem?)
Do Intel GPUs even have dedicated VRAM? I think most integrated Intel GPUs just use system memory, no? The new high-end "Iris Pro" GPU introduced with Haswell CPUs was hyped because it has a small amount of dedicated VRAM soldered on top of the CPU/GPU (or something like that). I guess the non-Iris Intel GPUs (i.e. most of them) just use a chunk of system memory. Not quite sure though. I also don't know about old Intel GMA (i.e. not integrated with CPU) GPUs. Maybe integrated GPUs work with factorio, while old GMA GPUs don't?
In my case, lspci lists
Memory at d0000000 (64-bit, prefetchable)
Memory at fdfc0000 (64-bit, non-prefetchable)
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Sat Jun 14, 2014 8:37 pm
by MF-
Blackence wrote:
MF- wrote:It's actually nice to hear that there are linux people who can play outside the nvidia group
Don't worry, I'm a factorio-playing AMD Radeon HD 6870 user on free mesa radeon drivers. So it's even more than just nvidia and some Intel users!
Blackence wrote:(Though you may have noticed the bug report about a bad texture size being used so high-res textures fail. I think that seems like an easy fix now that the reason was found. Hope the factorio guys can work on it eventually )
Oh, I don't think I did.
Do you think it's the root cause for my issues as well?
Blackence wrote:
Do Intel GPUs even have dedicated VRAM? I think most integrated Intel GPUs just use system memory, no? The new high-end "Iris Pro" GPU introduced with Haswell CPUs was hyped because it has a small amount of dedicated VRAM soldered on top of the CPU/GPU (or something like that). I guess the non-Iris Intel GPUs (i.e. most of them) just use a chunk of system memory. Not quite sure though. I also don't know about old Intel GMA (i.e. not integrated with CPU) GPUs. Maybe integrated GPUs work with factorio, while old GMA GPUs don't?
No idea how much integrated my GPU is.
I don't think they said "integrated" in the documentation, but that doesn't prove anything.
My main RAM is only 2G big.
I doubt I wouldn't notice up to 512M (if the lspci number means the lower bound for VRAM) vanishing without a trace.
Blackence wrote:
In my case, lspci lists
Memory at d0000000 (64-bit, prefetchable)
Memory at fdfc0000 (64-bit, non-prefetchable)
I'm not sure if this could be the cause for your issues. Maybe the Intel driver doesn't error out when storing a big texture fails (like the radeon driver does) and silently truncates the texture instead? Sounds silly, but I've heard a lot of bad things about OpenGL.
MF- wrote:Interesting. Know about any better method for determining the VRAM size?
I use what I managed to find.
Lol.. I guess you DID find a better way
That's nice, because I don't know what's the best / a good way to determine VRAM size. That message you found seems quite useful, I agree!
Re: [Linux w Intel GPU] Most of the graphics missing
Thanks for the link.
I think I missed it 'cause I don't read through "OMG it's crashing!" threads.
Blackence wrote:
I'm not sure if this could be the cause for your issues. Maybe the Intel driver doesn't error out when storing a big texture fails (like the radeon driver does) and silently truncates the texture instead? Sounds silly, but I've heard a lot of bad things about OpenGL.
Could be.
Also depends on the way how it'll be fixed -
- checking for an incorrect "out of memory" message won't do
Blackence wrote:
MF- wrote:Interesting. Know about any better method for determining the VRAM size?
I use what I managed to find.
Lol.. I guess you DID find a better way
That's nice, because I don't know what's the best / a good way to determine VRAM size. That message you found seems quite useful, I agree!
Actually, it was you who suggested grepping for "drm"
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Sun Jun 15, 2014 3:16 pm
by Blackence
MF- wrote:Actually, it was you who suggested grepping for "drm"
It was sillyfly! See the top of this page.
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Sat Jun 21, 2014 9:57 pm
by Colombo
Did anyone solved this problem?
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Sun Jun 22, 2014 7:55 am
by MF-
Colombo wrote:Did anyone solved this problem?
Not yet, but there is a hypothesis about the cause of all the issues. [ https://forums.factorio.com/forum/vie ... php?t=3157 ]
It was something about silent(intel)/fatal(radeon) failures when creating large bitmaps, even though they seemed supported
Strangely... I thought 0.10.1 was supposed to carry a fix
You can help by providing the same info as everyone else:
'dmesg | grep drm'
the "GPU" text block from 'lspci -v' like https://forums.factorio.com/forum/vie ... =30#p28960
32b or 64b
(if you know) how much VRAM is the GPU supposed to have, shared or private
ALSO: You mean factorio update, not ubuntu upgrade, right?
Did you try launching the 0.10.0 again? (to rule out the possiblity that an update to mesa/kernel/X11 broke it)
PS: Congratulations, finally someone who found this thread by himself. My hope for the internet is temporarily restored
Re: [Linux w Intel GPU] Most of the graphics missing
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 1be2
Flags: bus master, fast devsel, latency 0, IRQ 46
Memory at d0000000 (64-bit, non-prefetchable) [size=4M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
I/O ports at e080 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
I can't test 10.0 but 9.8 now do the same. Must have been some silent update:( Ill try restart computer, it was sleeping a bit... But all the hope is lost now.
edit: restart did not help:(
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Tue Jun 24, 2014 2:55 pm
by Colombo
bump
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Thu Jun 26, 2014 7:53 pm
by MF-
So.. 0.10.1 works for you again, while the previous versions don't ??
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Thu Jun 26, 2014 10:40 pm
by Colombo
MF- wrote:So.. 0.10.1 works for you again, while the previous versions don't ??
Uh? No, 10.1 doesn't work, as well as 9.8. It worked before some silent update from ubuntu.
It is actually funny. I had to ditch Europa Universalis 4 because given 12.04 lack of intel support for IntelHD for such old kernel, terrain didn't rendered at all. But with 14.04, I can play EU4 without problem (only that it runs quite slow, but that may be solely due to poor PC).
But due to that, I can't run factorio after a while (did not happened immediately after 14.04 upgrade).
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Fri Jun 27, 2014 6:05 am
by MF-
So.. .how is it "sortof solved", then?
Well.. ubuntu is keeping updated packages separately from "base install" versions,
so it's theoretically possible to figure out which package is responsible for your issues.
It could be the kernel driver, X11 driver, or some fancy-effects ubuntu app hogging VRAM (or anything else)
If you were really dedicated into locating the package responsible for the issues, you could downgrade back to 14.04 as released,
check that factorio works, selectively upgrade packages until the factorio breaks again.
Note that ubuntu is probably configured to install security updates (== any updated package that is marked as "carrying a security fix")
Some of the "base" versions thus may contain widely-known critical bugs.
PS: How often do you reboot? Could it be possible that you didn't reboot after the upgrade for a longer period of time?
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Fri Jun 27, 2014 6:33 am
by Colombo
MF- wrote:So.. .how is it "sortof solved", then?
Well.. ubuntu is keeping updated packages separately from "base install" versions,
so it's theoretically possible to figure out which package is responsible for your issues.
It could be the kernel driver, X11 driver, or some fancy-effects ubuntu app hogging VRAM (or anything else)
If you were really dedicated into locating the package responsible for the issues, you could downgrade back to 14.04 as released,
check that factorio works, selectively upgrade packages until the factorio breaks again.
Note that ubuntu is probably configured to install security updates (== any updated package that is marked as "carrying a security fix")
Some of the "base" versions thus may contain widely-known critical bugs.
PS: How often do you reboot? Could it be possible that you didn't reboot after the upgrade for a longer period of time?
It is not error of factorio update.
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Fri Jun 27, 2014 11:41 am
by Blackence
I actually fired up factorio on my Intel Box (very cheap Zotac product). It has an Ivy Bridge CPU and "Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)" (integrated GPU). I'm not using Ubuntu on that box, it's Arch Linux, so latest stable mesa/kernel.
Factorio works, but is very slow (probably expected, according to timing stats a lot of time is spent "Flipping" though?). It also crashes(?not sure?) or gets OOM-killed (definitely) in the "load game" screen frequently. This box has 1,8GB of usable RAM and no swap, I guess there's only a few hundred MB free for factorio (it had jenkins and unity and probably firefox active at that time). Graphics were 100% correct AFAICT, and they even were high-res as opposed to my readeon desktop in 0.10.1. Another hint that integrated-with-CPU "Intel Core" graphics work better than old "Intel GMA" on-mainboard chips?
To debug this issue, maybe someone affected by this could use apitrace to trace what's going on. apitrace is in the ubuntu repos (seems a little outdated maybe, but works for me). "apitrace trace ./factorio" should start the game, then just load a game / start a new game to demonstrate the issue and exit the game. This will create a few hundred MB trace file. Be careful when distributing it, as it contains factorio textures, so strictly speaking you aren't allowed to distribute it. Maybe factorio devs allow this for debugging if we ask, just like Valve allows Phoronix to use traces for benchmarking. (As an example, I just extracted the atlas texture into a 43MB PNG file from my trace that seems to contain all of the factorio sprites in 16384*2472.) We can then use qapitrace to look at the trace and inspect each frame. It seems like it even allows to look at textures etc. I've never used it before, but looks like a nice tool (the GUI is a little strange). If you can get it to work, "VOGL" by valve might be worth a try, too.
Edit: Or maybe this is not such a good idea. apitrace probably just traces all of the commands sent to the GPU through OpenGL, and those are probably always the same, no matter what GPU/driver you use. So if the driver or your GPU corrupts some textures or fails to render them, we won't see it in the trace I guess. It might still be interesting to see if the same trace replays correctly on radeon, but shows missing graphics when replaying it on intel hardware. If so, submitting the trace to intel mesa developers could help them finding a fix.
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Fri Jun 27, 2014 4:29 pm
by MF-
I thought VOGL is a specialized tool limited to the commands valve games are using.
Allright.. 11MB "wasted" on apitrace.
What exactly is in it's output, anyway? Just GL logs for the app?
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Sat Jun 28, 2014 6:05 am
by MF-
Wait...
I thought ALL factorio textures are loaded during startup..
So.. won't the trace contain all textures and be giant?
Re: [Linux w Intel GPU] Most of the graphics missing
Posted: Sat Jun 28, 2014 8:36 am
by MF-
I grabbed whatever I had lying on a shelf.
It was Factorio 0.8.8. x64
apitrace trace error output
apitrace: warning: unknown function "glGetShaderfv"
apitrace: warning: unknown function "glGetProgramfv"
apitrace: warning: unknown function "glGetSamplerParameterIfv"
apitrace: warning: unknown function "glNormal3xOES"
apitrace: warning: unknown function "glMultiTexCoord4xOES"
apitrace: warning: unknown function "glColor4xOES"
apitrace: warning: unknown function "glDepthRangexOES"
apitrace: warning: unknown function "glLoadMatrixxOES"
apitrace: warning: unknown function "glMultMatrixxOES"
apitrace: warning: unknown function "glRotatexOES"
apitrace: warning: unknown function "glScalexOES"
apitrace: warning: unknown function "glTranslatexOES"
apitrace: warning: unknown function "glFrustumxOES"
apitrace: warning: unknown function "glOrthoxOES"
apitrace: warning: unknown function "glTexGenxOES"
apitrace: warning: unknown function "glTexGenxvOES"
apitrace: warning: unknown function "glGetTexGenxvOES"
apitrace: warning: unknown function "glClipPlanexOES"
apitrace: warning: unknown function "glGetClipPlanexOES"
apitrace: warning: unknown function "glMaterialxOES"
apitrace: warning: unknown function "glMaterialxvOES"
apitrace: warning: unknown function "glLightxOES"
apitrace: warning: unknown function "glLightxvOES"
apitrace: warning: unknown function "glLightModelxOES"
apitrace: warning: unknown function "glLightModelxvOES"
apitrace: warning: unknown function "glPointSizexOES"
apitrace: warning: unknown function "glLineWidthxOES"
apitrace: warning: unknown function "glPolygonOffsetxOES"
apitrace: warning: unknown function "glTexParameterxOES"
apitrace: warning: unknown function "glTexParameterxvOES"
apitrace: warning: unknown function "glGetTexParameterxvOES"
apitrace: warning: unknown function "glTexEnvxOES"
apitrace: warning: unknown function "glTexEnvxvOES"
apitrace: warning: unknown function "glGetTexEnvxvOES"
apitrace: warning: unknown function "glFogxOES"
apitrace: warning: unknown function "glFogxvOES"
apitrace: warning: unknown function "glAlphaFuncxOES"
apitrace: warning: unknown function "glClearColorxOES"
apitrace: warning: unknown function "glClearDepthxOES"
apitrace: warning: unknown function "glGetFixedvOES"
apitrace: warning: unknown function "glDepthRangefOES"
apitrace: warning: unknown function "glFrustumfOES"
apitrace: warning: unknown function "glOrthofOES"
apitrace: warning: unknown function "glClipPlanefOES"
apitrace: warning: unknown function "glGetClipPlanefOES"
apitrace: warning: unknown function "glClearDepthfOES"
apitrace: warning: unknown function "glQueryMatrixxOES"
qapitrace's "replay" feature replays exactly what I have seen.
No idea whether those are captured frames rendered by my card or those frames genuinely re-rendered again.
Errors subwindow after replay
(type=Warning) "unsupported glXCreateWindow call
(type=GlDebugOutputCallback for the rest)
Medium severity API performance issue 1, Recompiling fragment shader for program 3
Medium severity API performance issue 2, alphatest, computed depth, depth test, or depth write 12->0
Medium severity API performance issue 2, fragment color clamping 1->0
Medium severity API performance issue 1, Recompiling fragment shader for program 0
Medium severity API performance issue 2, alphatest, computed depth, depth test, or depth write 12->0
Medium severity API performance issue 2, fragment color clamping 1->0
Medium severity API performance issue 3, 8192x4602 miptree too large to blit, falling back to untiled
--- All that very early, this last one happened on "Frame 3"
Medium severity API performance issue 1, Recompiling fragment shader for program 0
Medium severity API performance issue 2, alphatest, computed depth, depth test, or depth write 12->0
Medium severity API performance issue 2, fragment color clamping 1->0
--- These happened when I chose freeplay options and hit "generate" - possibly first frame of the game.
--- This group-of-three was always spawned by the same call (had the same number in the "index" column)