I am a non-expert on the pyclient, but my understanding is that libbrowsernode is responsible for rendering any and all webcontent in the player. It is the bridge between libavg and the browser which renders the web content.
The portability (or lack of) and flakiness of this component is one of the principle reasons we have discontinued any further developed into the pyclient.
That is not to say we aren’t interested in supporting Linux players in the future (and indeed retiring the windows player for something cross platform).
Discussion around this can be found here