Odpovídáte na názor k článku Wine a Proton už spustí 90 % her v Linuxu. Potřebujeme ještě Windows?. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
> 1. (...) GUI se řeší tak že se na Linux přistupuje pomocí RDP, řečeno dosti zjednodušeně.
Ne, Linux tam kreslí normálně přes MESA, ale to kreslí do DirectX knihovny v Linuxu (guest), a ta funguje jako roura do DirectX ve Windows (host). Díky tomu, že obojí je stejné API, tak ta roura nemusí převádět příkazy a má malý overhead.
> 2.A. Windows se nespouští ve virtuálce pod Windows. Windows běží jako root partition, což není totéž.
V "root partitiion" běží Windows 11, ale pod ním běží zas Windows 11, a až s tím pracuje uživatel. Dokonce existuje už AAA hra, která tento režim vyžaduje pro implementaci anti-cheat:
https://www.reddit.com/r/pcmasterrace/comments/1c3qrf9/in_case_you_didnt_know_all_windows_11/
> 2.B. User space libraries ve Windows volají Windows kernel. MS by musel napsat user space libraries pracující nad Linux kernelem
Však aplikace volají systémová DLL, ne přímo kernel. Díky tomu mohl "podvozek" několikrát předělat a pro aplikace je to transparentní (např. grafický driver model WDDM). Jestli to někomu přijde nezvládnutelné, tak ať si uvědomí, že přesně tohle již dělá WINE.
> 2.B. Myslíte že by zákazníci ocenili třeba nestabilní kernelové API/ABI?
Android třeba má stabilní driver ABI (vybrané LTS kernely). A NVidia má nad kernel ABI tenký wrapper implementující svoje driver ABI (binární blob není třeba překompilovávat na "nové header files", jen ten wrapper mezi - jen k tomu tak dává zdrojáky a blob je jen jeden pro různé verze Linuxu).
> 3. Ano, knihovny Wine implementující část Win32 se v řadě případů dají nahradit originálními knihovnami. Jenže ty nakonec volají user mode funkce ntdll.dll, které propadají na Windows kernel pomocí syscalls.
Ano, stačí reimplementovat jen ty lowlevel DLLka, které pracují přímo s kernelem. Těch je asi 4. Zbytek zůstává,
> Myslíte že můžete triviálně nahradit ntoskrnl!NtCreateFile pomocí linuxového open()?
Linux se již patchuje windowsovskými funkcemi (NTSYNC). Specifické věci pro WIndows nad Linux kernelem mohou být patchset, který nepůjde do upstreamu, tedy nemusí diskutovat s linuxovou komunitou, zda to zapadá do ideologie (stejně jako některé věci ve WSL2 nebo od Valve pro Steam Deck, např. jejich implementace HDR nečekající roky na komunitu).
24. 11. 2025, 03:58 editováno autorem komentáře