Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Pages: 1 [2] 3 4

Author Topic: Starsector on the Microsoft Surface Pro  (Read 8764 times)

Vingle

  • Ensign
  • *
  • Posts: 1
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #15 on: December 16, 2020, 07:23:32 PM »

Just throwing in my two cents with the other poor lads. I've had the same experience as their posts indicate. Game runs smoothly at start of my campaign, but once I encountered larger battles (e.g. a pirate raid) the game became unplayable. The screen freezes, and when I alt tab back, it only shows a flickering version of the title screen (with the revolving planet). The game never crashed, my FPS never dropped, the graphics just literally stopped working randomly during a big battle.

I use an HP laptop with Intel integrated UHD graphics (doesn't even list a model number =.=). Every hangup is accompanied in the event viewer by Event 4101 (Display driver igfxn stopped responding and has successfully recovered.). It seems to be as you said, the driver *** up and restarts, but the game's graphics aren't able to do the same. My drivers are up to date (November 29!), but it seems integrated Intel graphics just don't work with Starsector.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23986
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #16 on: December 16, 2020, 08:51:20 PM »

Hmm - I know people have been able to play with Intel graphics before without a problem. I wonder if this is specific to a certain class of hardware, or is perhaps an issue introduced in a more recent version of the drivers? If it's the latter, then downgrading to an older (say, one year back or so) version of the drivers may help.
Logged

hamofjustice

  • Ensign
  • *
  • Posts: 5
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #17 on: December 18, 2020, 01:11:31 AM »

Chiming in to say I am encountering this exact issue, same hardware setup (Surface Pro 7, intel iris HD). Been driving me bonkers, as whatever triggers it in my case seems to be random. I can play for a few hours one session, large battles (with tanking frame rate) galore, only to have the error occur when I am all alone in the void, looking at my fleet screen to decide what to mothball. It can also occur seconds after loading a save.

I have fiddled with all of the things (naturally spending a stupid amount of time chasing rabbits before thinking about getting some info from the source), but I have not tried sourcing some older drivers, so I think I shall give that a whirl and report back.

Then the only problem will be how to define *fixed*, as the can occur after quite some time!

To try and add some useful information to the discussion, the error seems to occur faster after it has occurred once already. Restarting at this point has some success and getting longer sessions, but not a guarantee. That could indicate that this is somehow linked to overheating, as longer sessions seem to coincide with the computer being left alone for a while, such as 1st thing in the morning, when the pc has had plenty of off time.

Another bit of info that might be of use; when the error occurs, resource manager shows GPU usage dropping immediately to 0%. It remains at 0% even though there is activity occurring in the game (without any image of course). So its like the game has been cut off from accessing it post freeze (or "successful recovery" of igfxn).

Is there any devmode or similar commands that force a reload of the graphical side of things? As others have said here, the game isn't actually frozen after the first few moments. I have "blind" saved a few times, and the logs continue to generate as if all was normal.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23986
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #18 on: December 18, 2020, 09:52:51 AM »

Interesting thought about overheating! Something like hwinfo might let you see if this is the case or not, just by letting you see the relevant temperatures.

(There's no way to re-init the graphics short of restarting the game; this just isn't a failure case that can really be accounted for. I'm not even sure what it'd *take* to get it back running without a relaunch or if that's even possible.)
Logged

hamofjustice

  • Ensign
  • *
  • Posts: 5
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #19 on: December 18, 2020, 07:02:24 PM »

Interesting thought about overheating! Something like hwinfo might let you see if this is the case or not, just by letting you see the relevant temperatures.

(There's no way to re-init the graphics short of restarting the game; this just isn't a failure case that can really be accounted for. I'm not even sure what it'd *take* to get it back running without a relaunch or if that's even possible.)

Thanks for the info regarding what can/cannot be done regarding the engine.

googling hwinfo seems to be some sort of diagnostic toolkit, I will look into that and other options. I am a bit leery of freeware software, as all too often it is masquerading malware.

Doing some deeeep dives, I have encountered other cases where igfxn crashing and restarting has been causing problems in other software/games. I came upon one *possible* solution, but i won't explicitly say what it involves, as it involves tweaking registry. Due to the ease that someone can royally destroy their computers while fiddling with that, I am going to suggest if people want to know what it is, to message me here and I can send them the details privately. Unless consensus is otherwise?

essentially what the *fix* does is change some parameters regarding when windows forces hardware to restart hardware components (in this case, GPU) when it fails to respond after a set time (in the seconds). The name for this, from what I can tell, is something called TdrDelay.

One avenue using this, is to extend the delay, to give the GPU which has stopped responding (because it is crunching something particularly hard) more time attempt to complete what it is doing, before windows restarts it (which causes the crash).

So far, I have tried this, and I couldn't honestly say if it has improved things or not. The only real concrete evidence that it is doing anything at all is that the error that manifests in event viewer is different.

Application java.exe has been blocked from accessing Graphics hardware.

This is the error, which was previously the one that went along the lines of "igfxn has stopped responding and has successfully restarted".

There are further options along tweaking the registry that disable that TdrDelay completely, but I am too concerned about the risk involved. Letting the integrated GPU get itself stuck in a loop (potentially) sounds like a great way to nuke it, and I can't just replace the GPU in that instance.

Following further rabbitholes, all the advice given online follows the same as given here. Check the drivers etc.

I attempted to find some older drivers for my iGPU:

Intel Iris Plus Graphics (07 revision)
Intel Core i7-1065G7


BUT

The oldest drivers I could find (version: 26.20.100.7985) seem to date from march 2020 (so, this year!). I am an amateur at all of this stuff, so I don't know where else I can look, or even how to ascertain if there ARE older drivers available. And then if there are, how trust worthy are the sources. I am loathe to install something with that deep of permissions without being sure of the source.

So, once again, pretty much at square 1. Yippee! But I think logging some of the temps at crash may provide some insight, even though that may not be fruitful in creating a solution.

I hope some of my "research" may prove useful to the powers that be, or to anyone who has a better understanding of computers. It's frustrating looking through event viewer to see things happening, but not really know what that actually means. Like when it says "java.exe has been blocked blah blah" the information that I can see doesn't give any useful info regarding what is doing the blocking, or how the blocking is happening or why the computer thought it necessary to block in the first place. Relying on inferences without a greater understanding is sure to land me in trouble, so I hope my scribbled notes of "what I have changed" will be enough to guide me backwards when I either run into massive problems due to tinkering, or land on a solution.

Cheers.
Logged

sector_terror

  • Commander
  • ***
  • Posts: 195
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #20 on: January 01, 2021, 09:05:55 PM »

I'm not sure how much help I can be, but an additional would be to try a different java program and get some info there. I think what's happening here is the graphics card is doing something or altering something which causes java itself to simply stop being able to access the card, which causes the freeze(thus every visual become incapable of altering) It makes me wonder if you could get it closed by moving the mouse through the now basically invisible space. Still, this very much runs the risk of being an issue with how Java accesses the card, and how the card itself works with other software. If that's the case this becomes a different problem entirely.

I would suggest looking through other java games and asking around to find if this issue persists through different games. If it does there might be enough info to grab a pattern and work from there. It's a longshot but it's all I got shy of toying with some advanced stuff I wouldn't dare instruct you to do with my skill level.
Logged

hamofjustice

  • Ensign
  • *
  • Posts: 5
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #21 on: January 08, 2021, 08:12:02 PM »

I'm not sure how much help I can be, but an additional would be to try a different java program and get some info there. I think what's happening here is the graphics card is doing something or altering something which causes java itself to simply stop being able to access the card, which causes the freeze(thus every visual become incapable of altering) It makes me wonder if you could get it closed by moving the mouse through the now basically invisible space. Still, this very much runs the risk of being an issue with how Java accesses the card, and how the card itself works with other software. If that's the case this becomes a different problem entirely.

I would suggest looking through other java games and asking around to find if this issue persists through different games. If it does there might be enough info to grab a pattern and work from there. It's a longshot but it's all I got shy of toying with some advanced stuff I wouldn't dare instruct you to do with my skill level.

I am pretty sure its a Java thing too, but the logger doesn't doesn't reveal any useful info. I say this as I have tried to replicate this error with programs that *aren't* Java, and been unable to. I get freezes and slowdowns, but the program continues to chug away.

It is like java "asks" the graphics card for permission to use it at the opening of SSector, then when it hits this kind of error, it can't renew its lease with the currently running instance.

If you had any recommendations for a Java based program that I could use to abuse my poor onboard G-card, please let me know, it would be interesting to know if it is specific to Java.
Logged

TJJ

  • Admiral
  • *****
  • Posts: 1905
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #22 on: January 09, 2021, 08:01:38 AM »

This isn't a Java problem, nor is it really a Starsector problem, it's Intel's shoddy Iris drivers.

I'd wager capping the framerate to 30fps (thus reducing GPU temps) will improve, perhaps even eliminate the driver instability.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23986
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #23 on: January 09, 2021, 09:32:36 AM »

Ohh, that's a really good idea for something to try! To clarify, you can do this by opening up data/config/settings.json with a text editor, and changing:

"vsync":true,
"fps":60, # fps only used if vsync is false

To:

"vsync":false,
"fps":30, # fps only used if vsync is false
Logged

hamofjustice

  • Ensign
  • *
  • Posts: 5
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #24 on: January 10, 2021, 08:44:34 PM »

This isn't a Java problem, nor is it really a Starsector problem, it's Intel's shoddy Iris drivers.

I'd wager capping the framerate to 30fps (thus reducing GPU temps) will improve, perhaps even eliminate the driver instability.

Hmmm, I was looking at temps (admittedly, not very rigorously) and I didn't notice a significant correlation between heat and crashes. Like others (and myself) have mentioned before, it can happen right out the gate doing nothing much. At other times I can have the game practically crunching through a big battle frame by frame without it pooping its pants. (the drivers are pooping, in this metaphor)

Your idea to cap the FPS is something I haven't tried, and now I am kicking myself for not thinking of it myself. If I find myself with a an abundance of free time, I will document my attempts, along with temps.

It is coming to really look like its just something that happens with the IRIS software/hardware, which is a shame, but my surface pro 7 is *meant* to just be a work device, lol. Maybe once I get some more work, I can finally indulge in replacing my obsolete and recently dead "gaming PC".

You seem somewhat knowledgeable about the driver situation, is there any homebrew driver alternative that I could run instead of those that Intel put out?


Ohh, that's a really good idea for something to try! To clarify, you can do this by opening up data/config/settings.json with a text editor, and changing:

"vsync":true,
"fps":60, # fps only used if vsync is false

To:

"vsync":false,
"fps":30, # fps only used if vsync is false

Going to give this a shot and let you know how it goes.
Logged

petrojelly

  • Ensign
  • *
  • Posts: 17
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #25 on: January 11, 2021, 01:11:43 AM »

Chiming in with intel i7 1065G7 with 32Gb onboard RAM. i thought i'd head off any and all issues with 'indie games' with this setup, but clearly hasn't been the case.

Exact same symptoms as what everyone has posted. first playthrough i got to fleets composed of several capital ships with some intensive battles, but as some have mentioned before, after it happens once, it keeps happening. I'm still only limited to the freeze happening during battles. it used to only happen when i'm flying the ship myself, but now it happens in tactical view as well.

I will also try this frame rate cap.

edit:

Original settings used:
Frame rate settings: default
Resolution: fullscreen 1920 x 1200 (3840 x 2400 is the monitor native resolution)
Processor: intel i7-5610G7, iris plus graphics
RAM: 32GB (8gb allocated via vmparams)
Result: freezes then resumes, as per all other integrated graphics issues here


Setting attempt 1:
Frame rate settings: capped to 30fps in settings.json
Resolution: fullscreen 1920 x 1200 (3840 x 2400 is the monitor native resolution) --> i.e. desktop resolution is set as 1920x1200.
Processor: intel i7-5610G7, iris plus graphics
RAM: 32GB (8gb allocated via vmparams)
Result: freezes then resumes, as per all other integrated graphics issues here, no noticeable change in how long it lasts before freeze

Setting attempt 2:
Frame rate settings: capped to 30fps in settings.json
Resolution: fullscreen 1920 x 1200 (3840 x 2400 is the monitor native resolution)
Processor: intel i7-5610G7, iris plus graphics
RAM: 32GB (6gb allocated via vmparams)
Result: freezes then resumes, as per all other integrated graphics issues here, no noticeable change in how long it lasts before freeze

Setting attempt 3:
Frame rate settings: capped to 30fps in settings.json
Resolution: fullscreen 3840x2400 (3840 x 2400 is the monitor native resolution) --> only uses the top left quadrant of monitor, not a playable setting
Processor: intel i7-5610G7, iris plus graphics
RAM: 32GB (6gb allocated via vmparams)
Result: does not freeze: 2x battles on full auto pilot, viewed from tactical screen (previously known to work for the most part until it started freezing); 1x battle on manual control (freezes most often in this scenario); monitor flickered a little once or twice, as if it got to the point where it would otherwise exhibit the freeze, but recovered successfully. YMMV
« Last Edit: January 11, 2021, 01:45:13 AM by petrojelly »
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23986
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #26 on: January 11, 2021, 09:08:22 AM »

Regarding "game is in a corner" - could you take a look here for a solution?
http://fractalsoftworks.com/forum/index.php?topic=13925.msg232792#msg232792

The NVIDIA portion won't apply to you but basically this should be solveable by adjusting various windows/app specific settings.

Also, if you right-click on the game icon, go to Properties, then Compatibility, and click on the "Change high DPI settings" button, you should see an option to "override high DPI scaling behavior". Check that box, then set it to "Application". (And if that doesnt' help, try the other options, too).
Logged

petrojelly

  • Ensign
  • *
  • Posts: 17
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #27 on: January 11, 2021, 04:42:59 PM »

Thanks! that suggestion worked.

1. change high DPI settings in compatibility mode to applications
2. start game launcher, before starting game:
3. as desktop resolution can still be changed before game start, change to 4k
4. choose 4k resolution option
5. game starts into 4k in fullscreen.
6. UI is ultra small. but legible.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23986
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #28 on: January 11, 2021, 06:28:00 PM »

Nice! And it doesn't crash? With UI scaling/proper 4k support in the next release, btw, the "ultra small UI" problem should be addressed.
Logged

petrojelly

  • Ensign
  • *
  • Posts: 17
    • View Profile
Re: Starsector on the Microsoft Surface Pro
« Reply #29 on: January 11, 2021, 10:37:08 PM »

well i'm at work so i didn't fly around shooting stuff. but the game loads and all that.

I'll give it a good go in.. 2hours and 24 minutes.

edit:

It worked for a good long while. Then i came across a relatively large pather fleet and it started freezing again with the same symptoms. Attempted fixes:
- Desktop res: 4k/2k; game res: 4k/2k; windowed/full screen --> all combinations tested and seen to freeze
- FPS locked to 30 as per the fix above
- Game is running in win7 compatibility mode
- Fullscreen optimizations disabled,
- high DPI settings set to override by application.

Will now attempt changing fullscreen optimizations / high DPI settings.

Changing the high DPI settings to system or system (enhanced) causes the launch menu to 'span' in the lower right corner of the monitor, and only one quarter of it is visible, such that it isn't possible to interact with it. (running in windows 8 compatibility also does the same thing)

I've also attempted
- limited colour (16-bit, 65536 colours)
- run as administrator all the time (check box)
- enable full screen optimizations (by unchecking the disable fullscreen optimizations box)
- restarted all the time

still freezes.
« Last Edit: January 12, 2021, 08:54:19 AM by petrojelly »
Logged
Pages: 1 [2] 3 4