Skip to content

Software rendering isn't working? #152

@Devyatyi9

Description

@Devyatyi9

To compare with AvaloniaUI, I decided to test the fallback renderer (isn't that what pixie is for?) in Windows Sandbox, but even with the
-d:useOpenGlEs (nim c -d:useOpenGlEs -d:release src/main.nim), the result was the same: when trying to open the application, a terminal window briefly appeared, and that was it. When running through PowerShell, it shows this error:
NOT 2025-05-19 19:54:04.064+04:00 Figuro tid=2756 configFile="C:\\Users\\WDAGUtilityAccount\\AppData\\Roaming\\figuro\\main.json" wglGetProcAddress failed to get wglCreateContextAttribsARB

This seems to be a related post: https://stackoverflow.com/questions/33685791/wglgetprocaddresswglcreatecontextattribsarb-sometimes-works-sometimes-retur
In Windows Sandbox, the only available graphics card is the Microsoft Remote Display Adapter (in regular Windows, it's the Microsoft Basic Display Adapter). It supports OpenGL 1.1.0 (GDI Generic) and DirectX via WARP (Feature Levels: 12_1, 12_0, 11_1, 11_0, 10_1, 10_0, 9_3, 9_2, 9_1), Driver Model: WDDM 1.3.

DirectX Caps Viewer

Image

I used the following code on Nim 2.2.4:

import figuro/widgets/[button, scrollpane, vertical]
import figuro

let
  font = UiFont(typefaceId: defaultTypeface(), size: 22)

type
  Main* = ref object of Figuro
    value: float

proc buttonItem(self, this: Figuro, idx: int) =
  Button.new "button":
    size 1'fr, 50'ux
    fill rgba(66, 177, 44, 197).to(Color).spin(idx.toFloat*50)
    if idx in [3, 7]:
      size 0.9'fr, 120'ux

proc draw*(self: Main) {.slot.} =
  withWidget(self):
    with this:
      fill css"#0000AA"
    ScrollPane.new "scroll":
      offset 2'pp, 2'pp
      cornerRadius 7.0'ux
      size 96'pp, 90'pp
      Vertical.new "":
        offset 10'ux, 10'ux
        contentHeight cx"max-content"
        for idx in 0 .. 15:
          buttonItem(self, this, idx)

var main = Main.new()
var frame = newAppFrame(main, size=(600'ui, 480'ui))
startFiguro(frame)

DxDiag.txt
dxview.log
glewinfo.txt
visualinfo.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions