[Linux w Intel GPU][cube] Most of the graphics missing

This subforum contains all the issues which we already resolved.
sillyfly
Smart Inserter
Smart Inserter
Posts: 1103
Joined: Sun May 04, 2014 11:29 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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.

lspci -v:

Code: Select all

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
	Subsystem: Dell Device 053c
	Flags: bus master, fast devsel, latency 0, IRQ 44
	Memory at f6400000 (64-bit, non-prefetchable) [size=4M]
	Memory at e0000000 (64-bit, prefetchable) [size=256M]
	I/O ports at f000 [size=64]
	Expansion ROM at <unassigned> [disabled]
	Capabilities: <access denied>	Kernel driver in use: i915
I am not certain about the 256MB reported, though, as "dmesg | grep drm" shows the following line:

Code: Select all

[    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.
kurtiii
Burner Inserter
Burner Inserter
Posts: 8
Joined: Mon May 26, 2014 11:41 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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 :D.

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 :o
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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?)
Blackence
Fast Inserter
Fast Inserter
Posts: 109
Joined: Thu Jun 05, 2014 4:03 pm
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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)

while my GPU has 1 gig of VRAM:
[ 3.309164] [drm] Detected VRAM RAM=1024M, BAR=256M
[ 3.309165] [drm] RAM width 256bits DDR
[ 3.317055] [drm] radeon: 1024M of VRAM memory ready
[ 3.317056] [drm] radeon: 1024M of GTT memory ready.


So I'd say… forget about lspci :)
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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)

while my GPU has 1 gig of VRAM:
[ 3.309164] [drm] Detected VRAM RAM=1024M, BAR=256M
[ 3.309165] [drm] RAM width 256bits DDR
[ 3.317055] [drm] radeon: 1024M of VRAM memory ready
[ 3.317056] [drm] radeon: 1024M of GTT memory ready.


So I'd say… forget about lspci :)

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
[ 2.409772] [drm] Memory usable by graphics device = 2048M

Which means that indeed memory is shared, no way my VRAM would be as big as my RAM :D
And that 2G is the upper bound on my actually usable VRAM size.
Blackence
Fast Inserter
Fast Inserter
Posts: 109
Joined: Thu Jun 05, 2014 4:03 pm
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by Blackence »

MF- wrote:Oh, I don't think I did.
Do you think it's the root cause for my issues as well?
It's this one: https://forums.factorio.com/forum/vie ... f=7&t=3157

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!
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by MF- »

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"
Blackence
Fast Inserter
Fast Inserter
Posts: 109
Joined: Thu Jun 05, 2014 4:03 pm
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by Blackence »

MF- wrote:Actually, it was you who suggested grepping for "drm"
It was sillyfly! :-) See the top of this page.
Colombo
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 19, 2014 11:25 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by Colombo »

Did anyone solved this problem?
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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 :P
Colombo
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 19, 2014 11:25 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by Colombo »

dmesg | grep drm
drm
lspci
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:(
Colombo
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 19, 2014 11:25 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by Colombo »

bump
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by MF- »

So.. 0.10.1 works for you again, while the previous versions don't ??
Colombo
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 19, 2014 11:25 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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).
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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?
Colombo
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Mon May 19, 2014 11:25 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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.
Blackence
Fast Inserter
Fast Inserter
Posts: 109
Joined: Thu Jun 05, 2014 4:03 pm
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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.
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post 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?
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by MF- »

Wait...
I thought ALL factorio textures are loaded during startup..
So.. won't the trace contain all textures and be giant?
MF-
Smart Inserter
Smart Inserter
Posts: 1235
Joined: Sun Feb 24, 2013 12:07 am
Contact:

Re: [Linux w Intel GPU] Most of the graphics missing

Post by MF- »

I grabbed whatever I had lying on a shelf.
It was Factorio 0.8.8. x64
apitrace trace error output
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
the trace file is around 200M

EDIT: Final
Post Reply

Return to “Resolved Problems and Bugs”