Marc CHALAND wrote:
In both cases, I encounter mad mouse trouble when I change window size of scout for example. I get the following message : [init -> ps2_drv] void* fwrite(): fwrite - not yet implemented [init -> ps2_drv] void* fputs(const char*, void*): fputs: "Exception::Overflow" [init -> ps2_drv] void* fwrite(): fwrite - not yet implemented [init -> ps2_drv] void* abort(): abort called I guess, sync is lost. I cannot get mouse after this. On TUDOS, I fixed sync lost by changing driver priorities. Is there any way to do this in genode ?
Configuring priorities is not supported yet. The observed behaviour occurs when the event queue inside the PS/2 driver overruns. This happens when the GUI server is not able to fetch new batches of input events fast enough. Normally, Nitpicker should fetch events each 10ms. The PS/2 driver queues up to 255 events, which should be enough (Normally, PS/2 generates not more than 16Kbit/s, which would correspond to ca. 66 mouse events per 10ms). The queue overrun suggests that the driver is actually handling the incoming device interrupts properly. I guess, the sleep accuracy of the timer service (used by Nitpicker to wait 10ms) is the problem because this service has assigned the same round-robin priority as any other process.
I guess, its time to make priorities configurable in Genode to see if my guess is right ;-)