* bug#35575: Some graphical programs borked with Guix on Arch
@ 2019-05-05 7:58 Brendan Tildesley
2019-05-05 10:33 ` Boris A. Dekshteyn
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Brendan Tildesley @ 2019-05-05 7:58 UTC (permalink / raw)
To: 35575
With Guix on Arch, Running Guix's Godot and cool-retro-term programs
results in a completely garbled GUI. Godot ran with OpenGL ES2 instead
of ES3 looks a bit better except the fonts fail to render correctly.
Cool-retro-term complains about how using a variable width font may
cause display alignment issues, although I'm not sure that is related.
Perhaps it indicates it is a font issue? The Arch versions work just
fine. I haven't installed Guix System on this machine yet so I'm not
sure if they would work that way.
I have seen this kind of graphical artefact before with KDE when I've
suspended my machine and it's come back all broken.. It may be related
to the fact that I have an AMD Radeon Fury X graphics card. (I haven't
explicitly installed any proprietary drivers; I think AMDGPU is free).
Any one have any clues on how to debug such a thing?
https://brendan.scot/p/borked-godot.png
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#35575: Some graphical programs borked with Guix on Arch
2019-05-05 7:58 bug#35575: Some graphical programs borked with Guix on Arch Brendan Tildesley
@ 2019-05-05 10:33 ` Boris A. Dekshteyn
2019-05-07 11:09 ` Brendan Tildesley
2020-03-29 4:00 ` bug#35575: logo,Some " Brendan Tildesley
2 siblings, 0 replies; 7+ messages in thread
From: Boris A. Dekshteyn @ 2019-05-05 10:33 UTC (permalink / raw)
To: 35575
Hi,
Brendan Tildesley <mail@brendan.scot> writes:
> Any one have any clues on how to debug such a thing?
>
> https://brendan.scot/p/borked-godot.png
check dmesg for something like:
--8<---------------cut here---------------start------------->8---
[ 337.066640] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0000480c for process Xorg pid 845 thread Xorg:cs0 pid 846
[ 337.068114] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000
[ 337.069354] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0404800C
[ 337.070674] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 2, pasid 32768) at page 0, read from 'TC0' (0x54433000) (72)
--8<---------------cut here---------------end--------------->8---
if you have something similar, try doing:
--8<---------------cut here---------------start------------->8---
rm -rf $HOME/.cache/mesa_shader_cache/
--8<---------------cut here---------------end--------------->8---
--
WBR, Boris Dekshteyn
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#35575: Some graphical programs borked with Guix on Arch
2019-05-05 7:58 bug#35575: Some graphical programs borked with Guix on Arch Brendan Tildesley
2019-05-05 10:33 ` Boris A. Dekshteyn
@ 2019-05-07 11:09 ` Brendan Tildesley
2019-05-08 9:42 ` Boris A. Dekshteyn
2020-03-29 4:00 ` bug#35575: logo,Some " Brendan Tildesley
2 siblings, 1 reply; 7+ messages in thread
From: Brendan Tildesley @ 2019-05-07 11:09 UTC (permalink / raw)
To: 35575
Wow you are a genius, that fixed it. How did you know? Sorry I got no
notification of your email, maybe because you emailed bug-guix instead
of 35575@debbugs.gnu.org.
So that's fixed my issue but I wonder how it can be fixed in general so
others don't have this issue.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#35575: Some graphical programs borked with Guix on Arch
2019-05-07 11:09 ` Brendan Tildesley
@ 2019-05-08 9:42 ` Boris A. Dekshteyn
0 siblings, 0 replies; 7+ messages in thread
From: Boris A. Dekshteyn @ 2019-05-08 9:42 UTC (permalink / raw)
To: 35575
Brendan Tildesley <mail@brendan.scot> writes:
> Wow you are a genius, that fixed it. How did you know? Sorry I got no
> notification of your email, maybe because you emailed bug-guix instead
> of 35575@debbugs.gnu.org.
>
> So that's fixed my issue but I wonder how it can be fixed in general so
> others don't have this issue.
I suspect that the problem is caused by the transition from llvm6 to
llvm7 in the mesa package.
So, i think, the right decision would be if mesa do check cache version
and invalidate it in case of mismatch.
On the other side — Guix itself, like any other distribution, should not
change the contents of user's home directories. May be, proper solution
will be indicate in the ~guix pull --news~, like it's implemented in debian
or gentoo.
--
WBR, Boris Dekshteyn
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#35575: logo,Some graphical programs borked with Guix on Arch
2019-05-05 7:58 bug#35575: Some graphical programs borked with Guix on Arch Brendan Tildesley
2019-05-05 10:33 ` Boris A. Dekshteyn
2019-05-07 11:09 ` Brendan Tildesley
@ 2020-03-29 4:00 ` Brendan Tildesley
2020-03-31 14:53 ` Marius Bakke
2 siblings, 1 reply; 7+ messages in thread
From: Brendan Tildesley @ 2020-03-29 4:00 UTC (permalink / raw)
To: 35575
To follow up on this old bug, I believe the issue may come from here:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/src/compiler/glsl/shader_cache.cpp#L144
Mesa calculates a sha1 based on some things they reason affect the
output, but likely it is not truely a function of every parameter than
can make a difference to the shader output. When we updated from llvm6
to lvm7 I'm guessing it changed the shaders somehow, and the llvm
version is not included in the hash. Since I have zero understanding
mesa, I'm not capable of determining the best solution. One thought is
that if we included the mesa /gnu/store path in the calculation, this
would make the hash's truely unique for a given mesa version, but also
cached shaders that /would/ work would be routinely discarded after an
update (i assume?). Would this be sensible or completely break something
else? Should we just add the llvm version, or just start a mesa bug
report asking for input?
The code:
ralloc_asprintf_append(&buf, "tf: %d ", prog->TransformFeedback.BufferMode);
for (unsigned int i = 0; i < prog->TransformFeedback.NumVarying; i++) {
ralloc_asprintf_append(&buf, "%s ",
prog->TransformFeedback.VaryingNames[i]);
}
/* SSO has an effect on the linked program so include this when
generating
* the sha also.
*/
ralloc_asprintf_append(&buf, "sso: %s\n",
prog->SeparateShader ? "T" : "F");
/* A shader might end up producing different output depending on the
glsl
* version supported by the compiler. For example a different path
might be
* taken by the preprocessor, so add the version to the hash input.
*/
ralloc_asprintf_append(&buf, "api: %d glsl: %d fglsl: %d\n",
ctx->API, ctx->Const.GLSLVersion,
ctx->Const.ForceGLSLVersion);
/* We run the preprocessor on shaders after hashing them, so we need to
* add any extension override vars to the hash. If we don't do this the
* preprocessor could result in different output and we could load the
* wrong shader.
*/
char *ext_override = getenv("MESA_EXTENSION_OVERRIDE");
if (ext_override) {
ralloc_asprintf_append(&buf, "ext:%s", ext_override);
}
/* DRI config options may also change the output from the compiler so
* include them as an input to sha1 creation.
*/
char sha1buf[41];
_mesa_sha1_format(sha1buf, ctx->Const.dri_config_options_sha1);
ralloc_strcat(&buf, sha1buf);
for (unsigned i = 0; i < prog->NumShaders; i++) {
struct gl_shader *sh = prog->Shaders[i];
_mesa_sha1_format(sha1buf, sh->sha1);
ralloc_asprintf_append(&buf, "%s: %s\n",
_mesa_shader_stage_to_abbrev(sh->Stage), sha1buf);
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#35575: logo,Some graphical programs borked with Guix on Arch
2020-03-29 4:00 ` bug#35575: logo,Some " Brendan Tildesley
@ 2020-03-31 14:53 ` Marius Bakke
2021-02-22 8:31 ` bug#35575: closing. bug has not reoccurred since Brendan Tildesley
0 siblings, 1 reply; 7+ messages in thread
From: Marius Bakke @ 2020-03-31 14:53 UTC (permalink / raw)
To: Brendan Tildesley, 35575
[-- Attachment #1: Type: text/plain, Size: 1311 bytes --]
Brendan Tildesley <mail@brendan.scot> writes:
> To follow up on this old bug, I believe the issue may come from here:
> https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/src/compiler/glsl/shader_cache.cpp#L144
>
> Mesa calculates a sha1 based on some things they reason affect the
> output, but likely it is not truely a function of every parameter than
> can make a difference to the shader output. When we updated from llvm6
> to lvm7 I'm guessing it changed the shaders somehow, and the llvm
> version is not included in the hash. Since I have zero understanding
> mesa, I'm not capable of determining the best solution. One thought is
> that if we included the mesa /gnu/store path in the calculation, this
> would make the hash's truely unique for a given mesa version, but also
> cached shaders that /would/ work would be routinely discarded after an
> update (i assume?). Would this be sensible or completely break something
> else? Should we just add the llvm version, or just start a mesa bug
> report asking for input?
Is this still relevant? I haven't heard reports about this in a long
time, nor experienced it (anymore) on my super-experimental systems that
switch LLVM and Mesa versions all the time. So I think the issue might
have been fixed upstream?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#35575: closing. bug has not reoccurred since
2020-03-31 14:53 ` Marius Bakke
@ 2021-02-22 8:31 ` Brendan Tildesley
0 siblings, 0 replies; 7+ messages in thread
From: Brendan Tildesley @ 2021-02-22 8:31 UTC (permalink / raw)
To: 35575-close
On 1/4/20 12:53 am, Marius Bakke wrote:
> Is this still relevant? I haven't heard reports about this in a long
> time, nor experienced it (anymore) on my super-experimental systems that
> switch LLVM and Mesa versions all the time. So I think the issue might
> have been fixed upstream?
Closing because the issue seems to have only occurred once a long time
ago and may have been fixed up stream.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-02-22 8:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-05 7:58 bug#35575: Some graphical programs borked with Guix on Arch Brendan Tildesley
2019-05-05 10:33 ` Boris A. Dekshteyn
2019-05-07 11:09 ` Brendan Tildesley
2019-05-08 9:42 ` Boris A. Dekshteyn
2020-03-29 4:00 ` bug#35575: logo,Some " Brendan Tildesley
2020-03-31 14:53 ` Marius Bakke
2021-02-22 8:31 ` bug#35575: closing. bug has not reoccurred since Brendan Tildesley
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).