Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Low fidelity rendering on Linux compared to running app #383

Open
GregDomzalski opened this issue Jul 17, 2024 · 3 comments
Open

Low fidelity rendering on Linux compared to running app #383

GregDomzalski opened this issue Jul 17, 2024 · 3 comments
Labels
kind:bug Something isn't working status:help-wanted This issue could use help from the external contributors

Comments

@GregDomzalski
Copy link

Hello,

Scaling and rendering when developing on Linux does not match what I see when I actually run my Avalonia app. This makes it challenging to get styling just right as I'm often zooming in to 150-300% just so that I can see the finer detail in the fonts and icons.

I've included screenshots and all information that I thought might be relevant.

Please let me know what information would be helpful for investigation. I'm happy to help in any way I can.

Thanks for taking a look!

Design time preview (100% scale) / Running app
DesignAndRun

Design time preview (150% scale) / Running app
DesignAndRunScaled

tl;dr:
Kubuntu 24.04 (KDE on X11), 4K resolution @ 125% system scaling. AMD Radeon 7900XT GPU

Details:

Plugin previewer method: AvaloniaRemote

OS: Kubuntu 24.04
Graphics Platform: X11
KDE Plasma Version: 5.27.11
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13

Display resolution: 3840x2160
Display scale: 125%

Rider's info:

JetBrains Rider 2024.1.4
Build #RD-241.18034.76, built on June 23, 2024
Licensed to <me>
Subscription is active until September 7, 2024.
Runtime version: 17.0.11+1-b1207.24 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 6.8.0-35-generic
.NET Core v8.0.1 x64 (Server GC)
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 24
Registry:
  ide.experimental.ui=true
  ide.new.project.model.index.case.sensitivity=true
  terminal.new.ui=true
Non-Bundled Plugins:
  com.intellij.javafx (1.0.4)
  avalonia-rider (1.3.2)
  com.github.copilot (1.5.11.5872)
Current Desktop: KDE

GlxInfo:

glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon RX 7900 XT (radeonsi, navi31, LLVM 17.0.6, DRM 3.57, 6.8.0-35-generic) (0x744c)
    Version: 24.0.9
    Accelerated: yes
    Video memory: 20480MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 15388 MB, largest block: 15388 MB
    VBO free aux. memory - total: 47746 MB, largest block: 47746 MB
    Texture free memory - total: 15388 MB, largest block: 15388 MB
    Texture free aux. memory - total: 47746 MB, largest block: 47746 MB
    Renderbuffer free memory - total: 15388 MB, largest block: 15388 MB
    Renderbuffer free aux. memory - total: 47746 MB, largest block: 47746 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 20480 MB
    Total available memory: 68729 MB
    Currently available dedicated video memory: 15388 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 7900 XT (radeonsi, navi31, LLVM 17.0.6, DRM 3.57, 6.8.0-35-generic)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.0.9-0ubuntu0.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.0.9-0ubuntu0.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.0.9-0ubuntu0.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
@ForNeVeR
Copy link
Owner

This is the place we extract the DPI for the image to draw. I wonder if something's incorrect there on Linux. Can you try debugging that?

@ForNeVeR ForNeVeR added kind:bug Something isn't working status:help-wanted This issue could use help from the external contributors labels Jul 18, 2024
@GregDomzalski
Copy link
Author

Is there a way to attach a debugger to my existing Rider instance with the published version of the plugin?

Or is the best way to clone this repo, build it, and debug it using the IntelliJ IDEA Plugin Dev kit?

I only vaguely understand how this is all working under the covers... I had attempted to attach the IntelliJ debugger to my Rider process, but that just froze up Rider despite the debugger (apparently) running. I'm having trouble finding documentation on how to debug already running plugin instances. Most docs just point to running the sandboxed IDE via the plugin devkit experience.

@ForNeVeR
Copy link
Owner

Is there a way to attach a debugger to my existing Rider instance with the published version of the plugin?

While there is, source level debugging is unlikely to work well in this configuration, and it is very clunky. I wouldn't recommend this approach.

It is much more straightforward to debug the :runIde task while opening the plugin sources repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:bug Something isn't working status:help-wanted This issue could use help from the external contributors
Projects
None yet
Development

No branches or pull requests

2 participants