ฉันมีประสบการณ์ที่ดีมากกับ VcXsrv บน Win 10 Bash บน Ubuntu บน Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft) ฉันไม่ได้มุ่งเน้นไปที่การใช้เดสก์ท็อปของ Unity เพราะมันไร้ประโยชน์และสิ้นเปลืองทรัพยากร ฉันแค่เรียกใช้แอพจากทุบตีในโหมด GUI จากเดสก์ท็อป Windows10 โดยใช้ XServer
ติดตั้ง VcXsrv จากที่นี่ใน Sourceforge
เรียกใช้แอป VcXsrv โดยตรงอย่าเปิด XLaunch คุณควรเห็นlocalhost:0.0 - 0 clients
เมื่อคุณวางเมาส์เหนือไอคอนบนแถบงาน Win10
เปิด Ubuntu Bash:
cd /mnt
(ผลลัพธ์เป็น localhost @ localhost: / mnt $)
cd ..
(localhost @ localhost: / $ หมายถึงคำสั่งนี้จะนำคุณไปสู่จุดเริ่มต้นของฮาร์ดไดรฟ์เท่าที่ WSL สามารถมองเห็น ... )
sudo apt-get install dbus synaptic nautilus --install-suggests --show-progress
(สิ่งนี้จะติดตั้ง "dbus" เพื่อสร้างตัวเชื่อมต่อเสมือนสำหรับ GUI, "Synaptic Package Manager" และ "Nautilus" ไฟล์ explorer สำหรับ unity-desktop
cd /usr/share/dbus-1 && sudo vi session.conf
(เมื่อsession.conf
เปิดในเครื่องมือแก้ไข vi)
กดiเพื่อเข้าสู่โหมดแทรกและเพิ่ม
<!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules
กว่าเพิ่ม:
<listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen>
<auth>EXTERNAL</auth>
<auth>DBUS_COOKIE_SHA1</auth>
<auth>allow_anonymous</auth>
กด ESC เมื่อคุณแก้ไขไฟล์เสร็จแล้วและ:wq
เพื่อบันทึกไฟล์
รันคำสั่งเหล่านี้และตรวจสอบเอาต์พุต:
$ export DISPLAY=localhost:0
$ sudo service dbus start
* Starting system message bus dbus [OK]
$ echo $DISPLAY
localhost:0
คุณทำเสร็จแล้ว! ตอนนี้เพียงเรียกใช้ synaptic, nautilus หรือ firefox จาก Bash และพวกเขาควรโหลดบนเดสก์ท็อป Win10 ตัวเลือก GUI เช่นนี้มีราคาแพง แต่ใช้งานได้ คุณสามารถติดตั้งubuntu-desktop
, unity
, ccsm
, compiz
และพยายามที่จะเรียกความสามัคคีสก์ท็อปสำหรับอูบุนตู ฉันไม่ได้ลองตั้งค่า "Steam" เพราะฉันยังคงทรมานที่จะเรียกใช้ "Unreal" โชคดี :)
หากมีคนรู้วิธีเรียกใช้gnome-terminal
บน XServer แทนที่จะเป็น XTerm โปรดแชร์ ...
PS
คุณสามารถเพิ่ม VcXsrv เป็น Win10 ที่สามารถบู๊ตได้
ในการเพิ่มแหล่งที่มาของคุณด้วย "Steam" ตามที่ระบุในโพสต์ต้นฉบับให้ปรับ Windows ของคุณเพียงเล็กน้อยสำหรับการจัดการแพ็คเกจเครือข่าย (เพื่อลดความหน่วงแฝง) และลำดับความสำคัญของ CPU / GPU เพื่อให้ Win10XBox … :)
แม้ว่าคุณจะเรียกใช้ "Steam" ภายใต้ "Unix" เชลล์ยังคงเป็น "Windows" ซึ่งอนุญาตให้คุณเปิดใช้ "Steam" บน "Unix" ...
Tcp Prep :;
ใน regedit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
ที่นี่คุณต้องผ่านรายการของคีย์ย่อยเพื่อค้นหารายการอะแดปเตอร์เครือข่ายที่ใช้ในการเชื่อมต่ออินเทอร์เน็ต หากคุณใช้ DHCP คุณจะต้องค้นหาDhcpIPAdddress
รายการ (ด้วยค่าข้อมูลระบบไม่ใช่:0.0.0.0
) เพื่อค้นหาอะแดปเตอร์ที่ถูกต้อง
เมื่อคุณมีอยู่มันและเลือกคลิกขวาที่ถูกต้องที่สำคัญใหม่> Dword (32 บิต) มูลค่า
ชื่อมันTcpFrequencyokและคลิก
ดับเบิลคลิกที่ค่าหลังจากนั้นและตั้งค่าทศนิยมให้เป็น 1 (หากต้องการคืนค่าการตั้งค่าเริ่มต้นให้เปลี่ยนค่าเป็น 2 หรือลบคีย์) จากนั้นไปที่คีย์ต่อไปนี้: HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ
คลิกขวาที่คีย์อีกครั้งและเลือกใหม่> Dword (32 บิต) มูลค่า
ตั้งชื่อพารามิเตอร์ใหม่TcpDelay
ดับเบิลคลิกหลังจากนั้นและเปลี่ยนค่าทศนิยมเป็น 1 (ในการกู้คืนคีย์ในเวลาต่อมาให้เปลี่ยนเป็น 0 หรือลบคีย์)
อัลกอริทึมของ Nagle
อัลกอริทึมของ Nagle เป็นการรวมแพ็คเก็ตขนาดเล็กจำนวนมากไว้ในแพ็กเก็ตเดียวที่ใหญ่กว่าเพื่อการส่งสัญญาณที่มีประสิทธิภาพมากขึ้น สิ่งนี้ถูกออกแบบมาเพื่อปรับปรุงประสิทธิภาพการรับส่งข้อมูล การปิดใช้งาน“ nagling” สามารถช่วยลด latency / ping ในบางเกมได้ อัลกอริทึมของ Nagle เปิดใช้งานใน Windows โดยค่าเริ่มต้น เมื่อต้องการใช้การปรับแต่งนี้แก้ไขรีจิสตรีคีย์ต่อไปนี้
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}
หากต้องการ{NIC-id}
ดูที่อยู่ IP ของคุณในรายการ ภายใต้{NIC-id}
คีย์นี้สร้างค่า DWORD ดังต่อไปนี้:
- TcpFrequency และตั้งค่าเป็น 1 เพื่อปิดการใช้งาน "nagling" สำหรับการเล่นเกม
- TCPDelay และตั้งค่าเป็น 1 เพื่อปิดใช้งาน“ nagling”
- TcpTicks และตั้งค่าเป็น 0
บันทึก:
บางรายงานบอกว่า tweaks นั้นลดความหน่วงเมื่อเล่น Dota 2 และ League of Legends แต่มันไม่ได้ผลสำหรับบางคน ฉันลองแล้วและเวลาแฝงของฉันดีขึ้นจาก 110 เป็น 90ms (เซิร์ฟเวอร์ SEA) เมื่อเล่น Dota 2
ดัชนีการควบคุมปริมาณเครือข่าย
Windows ใช้กลไกการควบคุมปริมาณเครือข่ายแนวคิดเบื้องหลังการควบคุมปริมาณคือการประมวลผลแพ็กเก็ตเครือข่ายอาจเป็นงานที่ใช้ทรัพยากรมาก มันเป็นประโยชน์ที่จะปิดการควบคุมปริมาณเพื่อให้ได้ปริมาณงานสูงสุด
เมื่อต้องการใช้การปรับแต่งนี้รัน regedit และปรับเปลี่ยนรีจิสทรี
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
ภายใต้SystemProfileสร้างค่า DWORD และตั้งชื่อเป็นNetworkThrottlingIndexจากนั้นตั้งค่าเลขฐานสิบหกเป็น ffffffff สำหรับการเล่นเกมและปริมาณงานสูงสุด: ffffffff ปิดใช้งานการควบคุมปริมาณอย่างสมบูรณ์
การตอบสนองของระบบเกม (ไม่แน่ใจเกี่ยวกับเรื่องนี้ :)
การสตรีมมัลติมีเดียและบางเกมที่ใช้บริการ“ Multimedia Class Scheduler” (MMCSS) สามารถใช้งาน CPU ได้มากถึง 80% เท่านั้น บริการ“ Multimedia Class Scheduler” (MMCSS) ช่วยให้มั่นใจได้ว่าการเข้าถึงทรัพยากรของ CPU มีความสำคัญโดยไม่ปฏิเสธทรัพยากรของ CPU ไปยังแอปพลิเคชั่นที่มีลำดับความสำคัญต่ำกว่า
ในการใช้การปรับแต่งนี้ให้เรียกใช้ regedit และแก้ไขรีจิสตรีคีย์
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
จากนั้นสร้าง DWORD ใหม่และตั้งชื่อเป็นSystemResponsivenessตั้งค่าทศนิยมเป็น 00000000 สำหรับการเล่นเกม / การสตรีม
ในกลุ่มรีจิสทรีเดียวกันกับการปรับแต่งด้านบนคุณสามารถเปลี่ยนลำดับความสำคัญของเกมได้ หากต้องการปรับแต่งนี้ไปที่
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games
และเปลี่ยนค่ารีจิสตรีต่อไปนี้:
- “ GPU ลำดับความสำคัญ” เปลี่ยนค่าเป็น 8 สำหรับการเล่นเกม
- “ ลำดับความสำคัญ” ตั้งค่าเป็น 1 สำหรับการเล่นเกม
ไชโยทั้งหมดสำหรับ "ไม่รู้จัก" (ขอโทษฉันเป็นเวลาสักครู่ตั้งแต่ฉันคัดลอกทิศทางของคุณ) ผู้เขียนของ Windows นี้ = บิด Xbox ...
PPS: หาก XServer ล้มเหลวในสิ่งที่คุณต้องการลองแก้ไขปัญหาด้วย Docker