NVIDIA-PRIME: ลาดเทสลับเป็น intel


10

เมื่อใดก็ตามที่ฉันเปลี่ยนจาก gpu ของฉัน (gtx 1,060) เป็น igpu ของฉัน (Intel 530) ฉันไม่สามารถบูตได้ หน้าจอการโหลดติดอยู่กับข้อความต่อไปนี้:

[ล้มเหลว] ไม่สามารถเริ่ม NVIDIA Persistence Daemon ดู 'systemctl สถานะ nvidia-persistenced.service' สำหรับรายละเอียด

อย่างไรก็ตามฉันสามารถบูตได้เมื่อฉันเปลี่ยนกลับไปเป็น Nvidia gpu และเปลี่ยนเป็น igpu ของฉันโดยไม่ต้องบูตเครื่องใหม่ชั่วคราว ฉันใช้ Kubuntu 16.10 และแสดงแล็ปท็อปภายในเท่านั้น นั่นเป็นเอาต์พุตเมื่อฉันเปลี่ยนไปใช้ igpu ของฉัน:

sudo prime-select intel
Info: the current GL alternatives in use are: ['nvidia-378', 'nvidia-378']
Info: the current EGL alternatives in use are: ['nvidia-378', 'nvidia-378']
Info: selecting nvidia-378-prime for the intel profile
update-alternatives: using /usr/lib/nvidia-378-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode

sudo prime-select nvidia
Info: the current GL alternatives in use are: ['nvidia-378-prime', 'nvidia-378-prime']
Info: the current EGL alternatives in use are: ['nvidia-378-prime', 'nvidia-378-prime']
Info: selecting nvidia-378 for the nvidia profile
update-alternatives: using /usr/lib/nvidia-378/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode

ผลลัพธ์ของ lspci -k | grep -EA2 'VGA | 3D'

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
        DeviceName:  Onboard IGD
        Subsystem: CLEVO/KAPOK Computer HD Graphics 530
--
01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060] (rev a1)
        Subsystem: CLEVO/KAPOK Computer Device 6a03
        Kernel driver in use: nvidia

ฉันพยายามที่จะแก้ปัญหานี้ด้วยตัวเองมานานกว่าหนึ่งสัปดาห์และไม่ได้เบาะแสว่าจะทำอย่างไร ทุกสิ่งที่ฉันพยายามล้มเหลว

คุณจะกรุณาช่วยฉันหน่อยได้ไหม?

อัพเดท 5.2.2017:

ฉันทดสอบอีกครั้งในวันนี้และตระหนักว่าการสลับไปใช้ intel gpu ไม่สามารถใช้งานได้กับ 375 และ 378 การออกจากระบบค้างหน้าจอ เหตุใดมันจึงทำงานครั้งเดียว หากฉันติดตั้งไดรเวอร์ทั้งหมดอีกครั้งหลังจากลบตัวเก่าและหลังจากนั้นใช้ตัวเลือกเฉพาะของ Intel (โดยไม่ต้องรีบูท!) ตัวเลือกเฉพาะไม่อัปเดตส่วนกำหนดค่าที่สำคัญ -> มันเลือกหนึ่งในโปรไฟล์ที่ไม่ใช่ nvidia เก่า (โปรไฟล์ mesa แทน NVIDIA) และมันใช้งานได้ แต่ทันทีที่ฉันเปลี่ยนเป็นโปรไฟล์ nvidia หรือรีบูตโปรไฟล์หลักจะได้รับการอัปเดตและจะไม่ทำงานอีกต่อไป ดังนั้นฉันคิดว่ามีบางอย่างผิดปกติกับทางเลือก EGl สำหรับ intel gpu? ขออภัยในความไม่สะดวกใด ๆ.

อัพเดท 12.2.2017:

เมื่อวานนี้ฉันแก้ไขซอฟต์แวร์ nvidia-prime และแก้ไขข้อผิดพลาด ฉันจะเผยแพร่เร็ว ๆ นี้ (อาจจะเป็นสัปดาห์หน้า) ของฉันที่แก้ไขแล้วและวางลิงก์ที่นี่ แต่ฉันยังคงพบปัญหา: เมื่อฉันปิดพีซีหลังจากที่ฉันดำเนินการsudo prime-select intel:

ksmserver ขัดข้อง (ฉันใช้ Kubuntu อาจไม่ใช่ปัญหากับ Ubuntu)

-> พีซีไม่สามารถปิดเครื่องได้อย่างสมบูรณ์และตัวเลือกการอัปเดตทางเลือกสำหรับ GPU ของ Intel (ผิด)

-> ฉันไม่สามารถบูตได้

อย่างไรก็ตามถ้าฉันทำงานsudo prime-select intelหลังจากปิดในโหมดการกู้คืนทุกอย่างทำงานได้ดีและฉันสามารถใช้ Intel GPU

อัพเดท 17.2.2017:

ฉันโพสต์วิธีแก้ปัญหาของฉันและฉันยังคงพยายามที่จะแก้ไขข้อผิดพลาดในที่เก็บอย่างเป็นทางการ อย่างไรก็ตามนี่อาจเป็นข้อผิดพลาดในทางเลือกในการอัปเดตดังนั้นต่อไปฉันต้องโพสต์รายงานข้อผิดพลาดที่นั่น

ในระหว่างนี้ขอให้เพลิดเพลินกับวิธีแก้ปัญหาของฉัน! ฉันหวังว่ามันจะเหมาะกับคุณเช่นกัน หากมีคำถามใด ๆ โปรดแสดงความคิดเห็น

อัพเดท 26.2.2017

@whizzzkid ชี้ให้เห็นว่าการ์ดกราฟิก nvidia ยังคงใช้งานได้หลังจากที่ฉันใช้โปรแกรมแก้ไข อย่างไรก็ตามวันนี้ฉันสามารถแก้ไขปัญหานี้ได้ ฉันอาจจะอัปเดตคำตอบของฉันเพื่อรวมแพตช์ที่ 2 ของฉันในสัปดาห์หน้า นี่คือการทดสอบบางอย่างที่ฉันใช้:

Nvidia: 43-45W

Intel (nvidia on): 29-31W

Intel (ปิด nvidia): 15-17W


โปรดแก้ไขคำถามของคุณและเพิ่มผลลัพธ์ของlspci -k | grep -EA2 'VGA|3D' คำสั่งเทอร์มินัล
Pilot6

โอ้ฉันเห็นว่า 10xx ไม่มีmในตอนท้ายแม้ว่าจะเป็นมือถือก็ตาม
Pilot6

อาจnvidia-primeยังไม่รองรับสิ่งเหล่านี้
Pilot6

สิ่งที่น่าสนใจคือมันใช้งานได้ตราบใดที่ฉันไม่รีบูท ฉันสามารถใช้ igpu ถ้าฉันออกจากระบบและเข้าสู่ระบบอีกครั้ง แต่ทันทีที่ฉันรีบูทมันก็ไม่ทำงานอีกต่อไป และ Nvidia gpu ทำงานได้และรองรับโดยไดรเวอร์
C11235

1
ฉันใช้ powertop เพื่อตรวจสอบการใช้พลังงาน มันแสดงการใช้พลังงานเฉพาะเมื่อคุณใช้แบตเตอรี่เป็นแหล่งพลังงาน ดูคำถามนี้หรือหน้าคนสำหรับข้อมูลเพิ่มเติม
C11235

คำตอบ:


3

นี่คือการแก้ไข / การแก้ปัญหาข้อบกพร่องของฉัน:

หากคุณต้องการใช้ bumblebee แทน nvidia-prime ลองดูคำตอบของ @whizzzkidด้านล่าง

ทดสอบกับKubuntu 16.10 64- บิตโดยใช้ KDE Plasma Version.7.5 และ KDE Frameworks เวอร์ชั่น 5.26.0 ขั้นตอนต่อไปนี้ใช้ได้สำหรับฉัน ฉันหวังว่าพวกเขาจะทำงานให้คุณเช่นกัน แต่ฉันไม่สามารถรับประกันได้และไม่รับผิดชอบหากพวกเขาไม่ แต่ฉันยินดีที่จะช่วยคุณถ้าคุณแสดงความคิดเห็น

ในกรณีของฉันปัญหาคือว่าทางเลือก update / usr / lib / nvidia-XYZ-prime / ไม่ทำงานเลย มันควรจะเปลี่ยนเส้นทางการโทรไปยังไดรเวอร์ intel-mesa แต่ด้วยเหตุผลบางอย่างมันไม่ได้ ดังนั้นอาจเป็นข้อผิดพลาดในการอัพเดททางเลือก ฉันยังไม่พบสถานที่รายงานข้อผิดพลาดสำหรับทางเลือกการอัปเดต โปรดแสดงความคิดเห็นหากคุณสามารถช่วยฉัน

ฉันปรับเปลี่ยน nvidia-prime เล็กน้อยเพื่อเปลี่ยนการอัพเดททางเลือกโดยตรงกับไดรเวอร์ intel-mesa แทน / usr / lib / nvidia-XYZ-prime /

สิ่งสำคัญ:

ก่อนที่คุณจะใช้ขั้นตอนใด ๆ เหล่านี้ตรวจสอบให้แน่ใจว่าทราบวิธีการเข้าถึงโหมดการกู้คืนบนพีซีของคุณ หากคุณไม่สามารถบู๊ตได้อีกต่อไปเนื่องจากคำแนะนำนี้คุณยังสามารถยกเลิกการเปลี่ยนแปลงในโหมดการกู้คืนได้ด้วยคำสั่งในส่วนสุดท้ายของคู่มือนี้ ดูเว็บไซต์นี้เกี่ยวกับวิธีการเข้าถึงโหมดการกู้คืนสำหรับข้อมูลเพิ่มเติม

ถ้าคุณใช้32 บิตของระบบปฏิบัติการที่คุณต้องออกคำสั่งทั้งหมดที่มีx86_64ในขั้นตอนที่ 4และในส่วนของวิธีการยกเลิกการแก้ไขทั้งหมดเหล่านี้


ขั้นตอนที่ 1:

ติดตั้งโปรแกรมแก้ไขของฉันโดยใช้วิธีง่ายๆที่ @whizzzkid ให้ไว้ในคำตอบของเขาด้านล่าง:

cd /usr/bin
sudo mv prime-select prime-select.bkup
sudo wget https://raw.githubusercontent.com/C11235/nvidia-prime-bugfix/master/prime-select
sudo chmod 755 prime-select

ขั้นตอนที่ 2:

ใช้โปรแกรมปรับปรุงที่สองของฉันเพื่อลดการใช้พลังงานในโหมด intel:

ตรวจสอบเวอร์ชันของไดรเวอร์ NVIDIA ที่คุณมี ตัวอย่างเช่นคำสั่งต่อไปนี้:

$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  378.13  Tue Feb  7 20:10:06 PST 2017
GCC version:  gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12)

ในกรณีนี้ nvidia-XYZ คือ nvidia-378 ดูเธรด Stackoverflowนี้

สร้างไฟล์ bash ที่มีเนื้อหาต่อไปนี้ชื่อเช่น poweroff.sh

#!/bin/bash
line=$(</etc/prime-discrete)
if [ "$line" == "off" ] 
   then
   rmmod nvidia-drm
   rmmod nvidia-modeset
   rmmod nvidia
   bash -c 'echo OFF > /proc/acpi/bbswitch'
fi 

สร้างไฟล์ bash ที่สองที่มีเนื้อหาต่อไปนี้ชื่อเช่น poweron.sh และแทนที่ XYZ ด้วยหมายเลขเวอร์ชันไดรเวอร์ nvidia ของคุณ

#!/bin/bash
modprobe nvidia-XYZ
modprobe nvidia-XYZ-modeset
modprobe nvidia-XYZ-drm
modprobe nvidia-XYZ-uvm
echo ON > /proc/acpi/bbswitch

ในโหมด Intel คุณต้องเรียกใช้สคริปต์แรกหลังจากเข้าสู่ระบบด้วย sudo และหนึ่งในนั้น ก่อนที่จะออกจากระบบด้วย sudo sudo bash FILENAMEฉันเพียงแค่ดำเนินการกับพวกเขาด้วย

จนถึงตอนนี้ฉันไม่สามารถเริ่มต้นอัตโนมัติสคริปต์เหล่านี้ในฐานะรูทเมื่อเข้าสู่ระบบและก่อนออกจากระบบ อย่างไรก็ตามอาจเป็นไปได้ที่การพุ่งพรวดเนื่องจาก@Fiximanชี้ให้เห็น ฉันอาจอัปเดตคำตอบนี้อีกครั้งในอนาคตหากฉันสามารถทำได้


(อาจ) ข้อผิดพลาดเฉพาะของ KDE Plasma:

ยังมีข้อผิดพลาดที่ฉันไม่สามารถแก้ไขได้ใน KDE Plasma: เมื่อใดก็ตามที่ฉันเปลี่ยนจาก Nvidia เป็น Intel หลังจากที่ฉันเริ่มพีซีในโหมด nvidia, ksmserverล่มและพีซีใช้ไม่ได้ฉันต้องปิดโดยกด ปุ่มเพาเวอร์ประมาณ 5-10 วินาที บางครั้งนี้ส่งผลในการปรับปรุง-ทางเลือกที่ถูกเปลี่ยนไปเป็น nvidia-นายกแทน Intel-เมซ่าซึ่งนำไปสู่สีดำหน้าจอเมื่อเริ่มต้น

หากคุณเกิดขึ้นที่จะได้รับผลกระทบจากข้อผิดพลาด ksmserver โปรดนำไปสู่การอย่างเป็นทางการข้อผิดพลาดรายงานเกี่ยวกับ bugs.kde.org

อย่างไรก็ตามปัญหาที่พีซีจะไม่ปิดสามารถหลีกเลี่ยงได้โดยการเลือกโหมด intel ก่อนที่จะปิดเครื่องแม้ว่าคุณจะใช้โหมด nvidia ก็ตาม หากคุณทำสิ่งนี้ทุกอย่างทำงานได้ตามปกติและคุณไม่จำเป็นต้องปิดเครื่องคอมพิวเตอร์โดยกดปุ่มเปิดปิดเครื่องนานยกเว้นหลังจากที่คุณใช้คำแนะนำนี้ในโหมด nvidia

วิธีแก้ปัญหาง่ายๆสำหรับblack-screen-upon-startup-bugคือการลบตัวเลือกปรับปรุงที่ไม่ทำงานออกทั้งหมด:

ขั้นตอนที่ 1:

คุณสามารถเข้าถึงพีซีของคุณอีกครั้งหลังจากที่คุณเข้าสู่โหมดการกู้คืนเลือกเปลือกคำสั่งรูทและดำเนินการคำสั่ง 2 ต่อไปนี้:

mount -o remount,rw /
prime-select nvidia

ขั้นตอนที่ 2:

ดำเนินการคำสั่งต่อไปนี้:

sudo update-alternatives --remove i386-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf
sudo update-alternatives --remove i386-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf
sudo update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf
sudo update-alternatives --remove x86_64-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf

วิธียกเลิกการแก้ไขทั้งหมดนี้

เพียงรันคำสั่งต่อไปนี้:

sudo rm /usr/bin/prime-select
sudo mv /home/YOUR-USERNAME/prime-select.backup /usr/bin/prime-select
sudo update-alternatives --install /etc/ld.so.conf.d/i386-linux-gnu_GL.conf i386-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf 8603
sudo update-alternatives --install /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf i386-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf 8603
sudo update-alternatives --install /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf x86_64-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf 8603
sudo update-alternatives --install /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf x86_64-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf 8603

1
ตรวจสอบคำตอบของฉันด้านล่าง
whizzzkid

เฮ้ชายขอบคุณมากสำหรับสิ่งนี้! เมื่อฉันรันสคริปต์ poweroff คอมของฉันเพิ่งแฮงค์ (ก่อนออกจากระบบ) มีวิธีแก้ไขอื่นไหม
Wboy

น่าเสียดายที่ฉันไม่รู้วิธีแก้ไขอื่น ๆ มันใช้งานได้ในกรณีของฉัน ปัญหาของคุณยังเกิดขึ้นในกรณีของฉันตามที่ฉันเขียน แต่เฉพาะครั้งแรก ดังที่ฉันได้เขียนไว้คุณต้องเปลี่ยนกลับไปใช้ Intel ก่อนออกจากระบบ จากนั้นข้อผิดพลาดนี้จะไม่เกิดขึ้น (อย่างน้อยก็ในกรณีของฉัน)
C11235

สวัสดี @ C11235 ขอบคุณสำหรับการแก้ไข ฉันต้องการถามคุณบางสิ่ง: ครั้งแรกที่ฉันติดตั้งไดรเวอร์ nvidia สำหรับค่าเริ่มต้นถูกตั้งค่าเป็น nvidia เมื่อใดที่ฉันควรเรียกใช้สคริปต์ และคุณหมายถึงการเข้าสู่ระบบในฐานะรูท?
Glats

น่าเสียดายที่คำตอบของฉันในส่วนนี้ค่อนข้างคลุมเครือ ฉันหมายความว่าคุณเข้าสู่ระบบแล้วเรียกใช้สคริปต์เป็น root (เช่นกับ sudo) คุณควรรันสคริปต์เมื่อเข้าสู่ระบบและเปลี่ยนเป็นโหมด intel แล้ว สิ่งนี้จะปิดการใช้งาน GPU nvidia อย่างสมบูรณ์ชั่วคราว ควรดำเนินการครั้งที่สองก่อนที่จะออกจากระบบในโหมด intel
C11235

2

patch โดย @ C11235 ทำงานตอนนี้ฉันสามารถสลับระหว่าง nvidia และ intel ได้ แต่นี่ไม่ได้ลดการใช้พลังงาน : - / ซึ่งหมายความว่าทั้งสองยังคงทำงานอยู่

BTW นี่เป็นวิธีที่ง่ายกว่าในการทำเช่นนี้

cd /usr/bin
sudo mv prime-select prime-select.bkup
sudo wget https://raw.githubusercontent.com/C11235/nvidia-prime-bugfix/master/prime-select
sudo chmod 755 prime-select

ขอบคุณ! น่าเสียดายที่คุณถูกต้องโปรดดูคำถามที่อัปเดตของฉัน คุณทราบหรือไม่ว่าฉันจะอัพเดตคำตอบเพื่อรวมวิธีการติดตั้งที่ง่ายขึ้นของคุณ?
C11235

@ C11235 โอ้ใช่แน่นอน ฉันสามารถคิดออกทั้งหมด: gist.github.com/whizzzkid/37c0d365f1c7aa555885d102ec61c048 ฉันกำลังใช้งาน 5.8W บนว่างตอนนี้
whizzzkid

โอเคเยี่ยมมาก! ฉันตรวจสอบคำแนะนำของคุณและสาเหตุของการใช้พลังงานที่ลดลงนั้นเหมือนกับในกรณีของฉัน ฉันเขียนสคริปต์ที่ใช้ bbswitch เพื่อปิดการใช้งาน GPU nvidia หากเลือกโหมดสลับโหมด Intel ในกรณีของฉันนี่สะดวกกว่าเนื่องจากฉันมีจอภาพภายนอกและใช้โหมด nvidia เกือบพิเศษนั่นคือเหตุผลที่ฉันต้องการใช้ nvidia-prime แทน bumblebee นอกจากนี้ประสิทธิภาพการทำงานเมื่อใช้ nvidia-prime ควรจะดีกว่าเมื่อใช้ bumblebee
C11235

2

โซลูชั่นสำหรับการไม่บูทหลังจากเปลี่ยนไปใช้ intel videocard:
เพิ่มพารามิเตอร์การบูตเคอร์เนล:

acpi_osi=! acpi_osi="Windows 2009"

สาเหตุของปัญหานี้: ข้อผิดพลาด # 156341ในเคอร์เนลที่
มา Solution: ลิงค์

รายละเอียดเพิ่มเติมอาจเป็นไปได้ที่จะเข้าใจง่ายขึ้น:

sudo echo -e "GRUB_CMDLINE_LINUX_DEFAULT='acpi_osi=! acpi_osi='Windows 2009''"  | sudo tee -a /etc/default/grub
sudo update-grub

ในรูปแบบปัจจุบันคำตอบของคุณไม่ดีเท่าที่ควร คุณสามารถตรวจสอบวิธีการเขียนคำตอบที่ดีและพิจารณาขยายคำตอบของคุณ
J. Starnes

มันใช้งานได้จริงสำหรับฉัน แต่คำตอบอาจจะดีขึ้น ฉันจะแนะนำการปรับปรุง
Vladyslav Matviienko

1

ปัญหาที่เป็นไปได้ด้วยการแก้ไขครั้งที่ 2: คำสั่งสุดท้ายของข้อความแจ้ง "poweroff" -script

    bash: /proc/acpi/bbswitch: No such file or directory

เห็นได้ชัดว่าเมื่อฉันรีบูตในโหมด Intel (การเปลี่ยนโหมดไม่ได้มีผลบังคับใช้จนกว่าฉันจะรีบูตเครื่องไม่ทราบว่านี่เป็นเรื่องปกติ) bbswitch-Module จะไม่โหลดแม้กระทั่ง ดังนั้นจึงไม่มีไฟล์ bbswitch และไม่มีวิธีปิด GPU nvidia

ฉันกำลังใช้:

  • MSI- แล็ปท็อป (GL72 7RDX)
  • Integrated GPU: Intel® HD Graphics 630 (Kaby Lake GT2)
  • GPU แยก: Geforce GTX 1050
  • ระบบปฏิบัติการ: Ubuntu 16.04 lts

วิธีแก้ไขปัญหานี้:

แก้ไขไฟล์ / etc / modules (พร้อมสิทธิ์ root) และเพิ่มบรรทัด

    bbswitch

ตอนนี้ bbswitch ทำงานได้แม้ว่าฉันจะบูตในโหมด intel และการแก้ไขที่สองของ C11235 ก็ใช้ได้ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.