Almost the same program works if I use artiq_run to execute. However, when I move to the dashboard, I got an error:

qt.glx: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat:😃efaultColorSpace, profile QSurfaceFormat::NoProfile)
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat:😃efaultColorSpace, profile QSurfaceFormat::NoProfile)
Falling back to using screens root_visual.

Does anyone know what's the problem? The program I submitted was:

class Tutorial(EnvExperiment):
def build(self):
self.setattr_device("core")
self.setattr_device("urukul0_ch0")

    self.setattr_device("urukul0_cpld")
    self.setattr_argument("frequency", NumberValue(type=="auto"))
    self.setattr_argument("time", NumberValue(ndecimals = 0, step = 1))
    self.setattr_argument("amplitude", NumberValue(type=="auto"))
@kernel
def run(self):
    self.core.reset()
    self.urukul0_ch0.set_att(0*dB)
    self.urukul0_ch0.cpld.init()
    self.urukul0_ch0.init()
    self.urukul0_ch0.set(100*MHz, phase=0.0, amplitude=1.0)
    self.urukul0_ch0.sw.on()
    delay(self.time*us)
    self.urukul0_ch0.sw.off()

Thank you every much!

Please edit your forum post and fix the formatting.
I don't think this has anything to do with the experiment's contents. Is the dashboard itself starting at all? Are you running Linux or Windows? How did you install ARTIQ?