07th-mod / 07th-mod/higurashi-assembly
Linux GNOME desktop environment crash / corrupted configuration file issue
- Linguagem predominante
- C#
- Estrelas
- 12
- Forks
- 12
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
Recently a user reported that when they start the game using a GNOME desktop (default for Ubuntu), they would get a window with infinite height, and the game wouldn't startup (black screen)
----
Working configurations:
- XFCE
- bspwm (on Artix linux)
- Ubuntu 20.04 (I assume GNOME)
Not working configurations:
- Ubuntu 19.10; GNOME 3.34.x, x in [0..3], depending on component; proprietary nVidia drivers version 440; Steam beta.
- Ubuntu 18.04 (I assume GNOME)
----
I only tested Ubuntu using XFCE because GNOME had the same problem reported where the window would be infinitely tall and the game wouldn't startup.
The big problem with the GNOME problem is that it will remain, even if you uninstall the game, presumably because the messed up config file is in your ~.config/unity/... folder which never gets cleared unless you go and delete it
So even if the end user re\-installs the un\-modded game, it will still be stuck like that on GNOME. This may make it seem like it's not our mod causing the issue, when (I'm....pretty sure?) it is (see end of the discussion on discord below).
GNOME is the default desktop environment for Ubuntu, which I assume will make up many of our linux users.
I'm raising this in the higurashi\-patch\-compiler section because afaik the writing to the config file is done in the modified .dll. But the actual 'solution' could be just a fix in the installer, the .dll might not need to be modified.
Here was the discussion on discord (names omitted and edit for clarity):
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Never had mono throw issue with my previous errors
BTW did you read how I got higurashi working nativly on gnome?
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Install xfce?
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
You had to force it in fullscreen iirc
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Launch the game in full screen mode
and mark the config read only
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
because after the game quits it sets the screenmanager to be windowed again.
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
That is strange, there's a fullscreen option in the settings
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
there's 2
1
768
1365
0
1080
1920
768
1
1365
screenmanager gets set to 0 after reboot causes the game to first start in window and then swaps to full
however as you progress to later chapters that also becomes a problem
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
I think the game has issue with gtk 3 in windowed mode
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
One of these is a Unity setting (the screenmanager thing), the other one is something MG added but what the hell for?
:thonk:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
the height of the window always goes infinite beyond chapter 3
I've seen the config height being set to negative numbers or really high numbers
If I swap to windowed mode right now the game would crash my gnome\-shell
oh and the same happens in openbox
that's another desktop
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Not just that
if you use proton
the same thing happens
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
One would assume that this would be the testing configruation, especially since Steam only officially supports Ubuntu
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
As you know I have used both.
Then later by @tellowkrinkle :
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Ugh the reason the full screen works like that was to work around a separate issue involving the game not choosing the right aspect ratio if it started in full screen on my Linux boot
So I made it so the game modifies the unity config on exit so it starts not full screen, then fullscreens itself once the game starts.
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
O problema envolve um arquivo de configuração de jogo Unity em ~/.config/unity/... que fica corrompido em desktops GNOME, causando altura infinita da janela e falha na inicialização. Examine o .dll modificado que grava a configuração, particularmente a lógica que define os valores de screenmanager e resolution na saída. Teste o jogo em um ambiente GNOME para reproduzir a falha, então rastreie onde a configuração é gravada e por que ela produz valores de altura/largura inválidos.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- csharp, linux, unity
- Domínio
- desktop, game-dev
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 30/100