Hi Thomas,

I'm very sorry for replying so late. 

On Sun, 5 Oct 2025 10:15:55 +0200
Thomas Wolff wrote:
> Am 10.09.2025 um 11:21 schrieb Thomas Wolff via Cygwin:
> > [Reposting by response from cygwin-developers]
> >
> > I wrote:
> >> The ancient conhost and also the initial conpty implementation of 
> >> Windows were obstacles to using terminal feature from Windows 
> >> applications.
> >> There are nuisances like mangled or ignored character attributes, 
> >> terminal reports not passed through etc.
> >> While there is an updated Windows conpty layer being developed as 
> >> part of the Windows terminal project, it is not yet deployed with 
> >> Windows 11 and will probably not be deployed with Windows 10 at all 
> >> anymore (https://github.com/microsoft/terminal/issues/17452).
> >> Various terminals had to fight with these problems and some found a 
> >> solution.
> >> According to 
> >> https://github.com/saitoha/libsixel/issues/199#issuecomment-3181728693 
> >> it is possible to inject a specific version of conpty so to supersede 
> >> the Windows-installed conhost.exe.
> >>
> >> I've tried to apply that to mintty by just preloading a conpty.dll 
> >> before calling forkpty for the terminal child process but that has no 
> >> effect.
> >> The procedure seems to be:
> >> try LoadLibrary("conpty.dll"), (if not successful, fallback to 
> >> GetModuleHandle("kernel32") instead) to retrieve GetProcAddress for 
> >> CreatePseudoConsole, ResizePseudoConsole, ClosePseudoConsole, and 
> >> then somehow (?) use those while calling CreateProcess.
> >> The latter is woven into the cygwin library and I don't think it's a 
> >> good idea to clone that out of cygwin for a patched process creation 
> >> in mintty.
> >>
> >> My question/suggestion:
> >> Can a cygwin mode switch to a selected conpty library instead of the 
> >> default one please? My idea would be to configure this per process 
> >> with the environment variable CYGWIN. Like its error_start= setting, 
> >> it could have a conpty= setting to configure the filename to be used 
> >> for conpty when starting a subprocess.
> >> That would allow mintty to inject a modern conpty when calling a 
> >> Windows application (e.g. wsl.exe).
> >>
> > Thomas
> It would also help if someone writes a small wrapper that loads a local 
> conpty.dll version, runs CreatePseudoConsole from it, and invokes 
> wsl.exe (likely with CreateProcess). I somehow fail to get this working, 
> being umfamiliar with Windows intrinsics...

I'm not sure what is the advantage of dynamic conpty loading.
Does this allow use newer functionality than using conhost.exe?
Or something else?

-- 
Takashi Yano <[email protected]>

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to