Làm cách nào để thiết lập màn hình thứ hai qua DVI / khung nhìn với Lenovo T420S?


13

Lenovo T420S của tôi có card đồ họa rời với công nghệ nvidia Optimus. Những gì tôi về cơ bản đang cố gắng để đạt được là như sau:

  • sử dụng màn hình thứ hai - được kết nối qua DVI / khung nhìn - tại nơi làm việc (VGA bị mờ)
  • đạt được hiệu suất pin vừa phải đến tốt khi đi du lịch (2 giờ)

Theo như tôi tìm ra, tôi có các tùy chọn sau:

  1. vô hiệu hóa Optimus, chỉ sử dụng đồ họa nội bộ
  2. vô hiệu hóa Optimus, sử dụng nvidia độc quyền
  3. bật Optimus, sử dụng bumblebee ( trang chủ ) / ironhide

(1) không đủ điều kiện khi tôi đọc (và có kinh nghiệm) rằng DVI / viewport về mặt kỹ thuật không thể sử dụng được thông qua đồ họa bên trong

(2) chưa thực sự thử cho đến nay, chỉ là bản cài đặt thử nghiệm nhanh đã khởi động vào màn hình đen sau khi tôi thêm trình điều khiển nvidia :-(

(3) đã theo dõi blog này , sử dụng ong nghệ thay vì ironhide. Bumblebee đã hoạt động (tôi có thể thấy FPS ấn tượng trên glxgears), nhưng tôi không nhận được màn hình thứ hai được công nhận . Tôi cũng cảm thấy lạc vào nvidia-driver-hell và không có cơ hội chạy nvidia-xconfig, đơn giản vì nó chưa được cài đặt. Không biết nếu một màn hình thứ hai được cho là được nhận ra khỏi hộp? Tôi có cần cài đặt thêm không? Tôi có cần phải gây rối với xorg.conf của mình không? Nhiều câu hỏi, ít câu trả lời.

Vậy, tôi có thể làm gì để đạt được mục tiêu của mình? Con đường nào để đi theo, và các bước tiếp theo là gì?

Mọi gợi ý đều được chào đón :-)

Cập nhật : Cảm ơn mọi người đã trả lời. Tôi sẽ chuyển môi trường làm việc của mình sang cài đặt "rời rạc" và sẽ sử dụng "Optimus / bumblebee" như một dự án chơi song song và xem tôi sẽ nhận được bao xa ... Tôi sẽ đăng câu hỏi trong tương lai trong các chủ đề mới.

Câu trả lời:


5

Tôi có Thinkpad W520 và đã loay hoay với điều này. Tôi không chắc W520 và T420S có bao nhiêu điểm chung, nhưng tôi đã viết một bài đăng blog ở đây phác thảo tình huống bức tranh lớn và đưa ra một số gợi ý.

Bạn sẽ có thể có được 2 giờ sử dụng pin bằng thẻ nvidia với trình điều khiển độc quyền toàn thời gian. Đó cũng có thể là tùy chọn liên quan đến ít rắc rối nhất khi thêm màn hình ngoài (Chương trình "phân tán" rất hữu ích cho việc này). Nếu trình điều khiển độc quyền của nvidia cho thẻ trong T420 hoạt động giống như với W520, chúng sẽ tự động ép xung thẻ khi không sử dụng hết (họ gọi đây là "Power Mizer"), vì vậy thời lượng pin của bạn sẽ không quá kinh khủng. Thành thật mà nói, tôi chỉ tăng 25 hoặc 30% thời lượng pin bằng cách tắt thẻ nvidia. Ngoài ra, tôi tin rằng với Bumblebee được cài đặt, bạn có thể không sử dụng được màn hình ngoài của mình vì thẻ nvidia đã chạy máy chủ X "dưới mui xe". Tóm lại, tôi khuyên bạn nên theo đuổi tùy chọn (2) hơn nữa.

Khi tôi cài đặt và gỡ cài đặt Bumblebee, tôi đã gặp một chút rắc rối khi trình điều khiển độc quyền của nvidia hoạt động trở lại. Dưới đây là một số điều cần xem xét: (a) W520 có các tùy chọn BIOS liên quan đến sơ đồ đồ họa nào đang được sử dụng. Tôi không chắc các tùy chọn T420 là gì, nhưng nếu bạn muốn sử dụng đồ họa nvidia trên màn hình Thinkpad của mình, có lẽ bạn phải ở chế độ "rời rạc". (b) Bạn có thể phải loay hoay với chương trình "j Racer" trong ubfox để sử dụng trình điều khiển độc quyền.

Chúc may mắn! Tôi hy vọng điều này là một số trợ giúp.


... nó chắc chắn là có ích, cảm ơn vì đã trả lời!
jan groth

Sau khi đọc các bình luận khác về chủ đề này, có vẻ như T420 không được cấu hình giống như W520 - thẻ tích hợp được kết nối với đầu ra VGA (không giống như trên W520 - điều này cũng giải thích tại sao T420 có khả năng hỗ trợ 3 màn hình ngoài trong khi W520 chỉ có khả năng hỗ trợ 2).
Zach

Vì vậy, câu hỏi là chế độ BIOS nào có sẵn trên T420? Từ bài đăng của @ John, có vẻ như có ít nhất một chế độ Optimus và chế độ riêng biệt. Nếu bạn đang theo đuổi tùy chọn (2), bạn muốn chắc chắn rằng bạn đang ở chế độ riêng biệt như @John. Nếu bạn đang ở chế độ Optimus, màn hình Thinkpad bên trong và màn hình kỹ thuật số bên ngoài có thể được điều khiển bởi các card đồ họa khác nhau và bạn sẽ phải thực hiện một số thao tác với xorg.conf để hoạt động.
Zach

@Zach: Cảm ơn bài viết trên blog. Tôi đã đánh cắp một cách đáng xấu hổ từ cả phiên bản tiếp theo của nó và bản viết lại của Sagar Karandikar , và thêm một số cập nhật liên quan đến phiên bản Ubuntu mới nhất trong câu trả lời của tôi .
krlmlr

7

Ubuntu 14.10 trở lên: Nó đơn giản hơn nhiều. Xin vui lòng xem câu trả lời này và bình luận của tôi dưới đây.

Lưu ý : Điều này chỉ hoạt động trong Ubuntu 13.04. Có một số khác biệt trong 13.10.

Tôi đã quản lý để kết nối hai màn hình ngoài (ngoài bảng điều khiển tích hợp) với ThinkPad T430 trên Ubuntu 13.04, với Optimus ("Đồ họa có thể chuyển đổi") được bật (tùy chọn 3 trong danh sách của bạn). Các màn hình được kết nối thông qua giao diện DVI, một trong số chúng được xoay. Ngược lại với các giải pháp khác, tất cả các màn hình được gắn vào cùng một trình quản lý cửa sổ, vì vậy các cửa sổ có thể được di chuyển tự do giữa các màn hình. Điều này đạt được mục tiêu tăng tuổi thọ pin nếu ngắt kết nối và sử dụng màn hình ngoài nếu được kết nối.

Ý tưởng chính ở đây là:

  • Bộ điều hợp đồ họa bên trong chịu trách nhiệm quản lý hình ảnh (bitmap) thực sự được hiển thị
  • Theo mặc định, mọi thứ được hiển thị trên bộ điều hợp đồ họa bên trong
  • Các ứng dụng tăng tốc GPU sử dụng bộ điều hợp đồ họa rời, đầu ra được sao chép vào bộ điều hợp đồ họa bên trong
  • Đối với mỗi màn hình ngoài, bộ điều hợp đồ họa bên trong cung cấp màn hình "ảo"
  • Đầu ra cho màn hình ngoài xảy ra khi sử dụng máy chủ X thứ hai, nội dung từ màn hình "ảo" liên tục được sao chép sang máy chủ X thứ hai

Lợi ích chính so với các giải pháp khác là tất cả các màn hình (dường như) là một phần của cùng một phiên X, do đó bạn có thể tự do di chuyển các cửa sổ giữa các màn hình.

Cho đến nay tôi đã nhận thấy không có hình phạt hiệu suất.

Hướng dẫn

Bạn cần làm như sau:

  • Cài đặt Bumblebee từ PPA
  • Xây dựng và cài đặt trình điều khiển video Intel tùy chỉnh
  • Tải xuống, biên dịch và cuối cùng cài đặt một chương trình nhỏ
  • Chỉnh sửa hai tập tin cấu hình
  • Khởi động lại nhiều lần

Đối với hầu hết các hành động, bạn sẽ cần một thiết bị đầu cuối, trình soạn thảo văn bản và quyền truy cập root ( sudo). Hướng dẫn chi tiết được đưa ra dưới đây.

Cài đặt Bumblebee

Thực hiện theo phần "thiết lập cơ bản" của hướng dẫn . Thực thi với quyền root, lệnh cuối cùng thực sự khởi động quá trình khởi động lại:

add-apt-repository ppa:bumblebee/stable
apt-get update
apt-get install bumblebee virtualgl linux-headers-generic
reboot

Đừng cố chạy Bumblebee chỉ với trình điều khiển nouveau? . Theo kinh nghiệm của tôi, nó không hoạt động, ít nhất là không trong thiết lập này.

Thẩm định

Bạn sẽ có thể chạy optirun glxgears.

Cài đặt phiên bản vá của xserver-xorg-video-intel

Tùy chọn 1: Cài đặt từ PPA của tôi (hiện chỉ có Ubuntu 13.04)

Thực hiện như sau là root:

add-apt-repository ppa:krlmlr/ppa
apt-get update
apt-get install xserver-xorg-video-intel

Tùy chọn 2: Xây dựng và cài đặt gói của riêng bạn

Chọn bản vá gần đây nhất cho xserver-xorg-video-intel. Nhấp vào tệp, nhấp vào nút "Nguyên", sao chép URL trong trình duyệt. Tại thời điểm viết bài, đây là https://raw.github.com/liskin/patches/master/hacks/xserver-xorg-video-intel-2.20.14_virtual_crtc.patch .

sudo apt-get build-dep xserver-xorg-video-intel
cd ~
apt-get source xserver-xorg-video-intel
cd xserver-xorg-video-intel
# replace the URL below with the one you have noted, if necessary
wget https://raw.github.com/liskin/patches/master/hacks/xserver-xorg-video-intel-2.20.14_virtual_crtc.patch
patch -p1 < *.patch
# The next command will ask for a change log message. Supply something meaningful,
# this will later allow you to distinguish your patched package from the distribution's.
dch -l+virtual
dpkg-buildpackage -b
cd ..
sudo dpkg --install xserver-xorg-video-intel_*.deb

Xác nhận (1), cho cả hai tùy chọn

Lệnh

apt-cache policy xserver-xorg-video-intel

sẽ hiển thị phiên bản vá ( +virtualhậu tố) và phiên bản Ubuntu gốc.

Cần thiết cho 13.04, cho cả hai tùy chọn

Thêm phần sau vào của bạn /etc/X11/xorg.conf, tạo nếu cần thiết:

Section "Device"
    Identifier "intel"
    Driver "intel"
    Option "AccelMethod" "uxa"
    Option "Virtuals" "2"
EndSection

Xác nhận (2), cho cả hai tùy chọn

Sau khi khởi động lại, chạy xrandrtrong một thiết bị đầu cuối. Đầu ra nên liệt kê hai màn hình ảo bổ sung.

Tải xuống và xây dựng screenclone

Nhận ngã ba screenclone của puetzk và các phụ thuộc của nó, và biên dịch nó.

sudo apt-get install libxcursor-dev libxdamage-dev libxinerama-dev libxtst-dev git build-essential
cd ~
git clone git://github.com/puetzk/hybrid-screenclone.git
cd hybrid-screenclone
make

Thẩm định

Các tập tin screenclonetồn tại và có thể thực hiện được. (Tuy nhiên, nó sẽ không chạy.)

Biên tập xorg.conf.nvidia

  • Mở tệp /etc/bumblebee/xorg.conf.nvidiatrong trình soạn thảo văn bản, với quyền root
  • Nhận xét hoặc xóa các dòng đọc UseEDIDhoặcUseDisplayDevice
  • Trong Section "ServerLayout", thêm một mụcScreen "Screen0"
  • Ở dưới cùng của tập tin, thêm vào như sau:

    Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        DefaultDepth    24
        SubSection     "Display"
        Depth       24
        EndSubSection
    EndSection
    
  • Khởi động lại

Kiểm tra

Thiết lập của tôi giả định một màn hình ngang được kết nối với cổng DVI đầu tiên của trạm nối và một chân dung được kết nối với cổng DVI thứ hai. Chạy các lệnh sau trong một thiết bị đầu cuối từ thư mục nơi đặt screenclone , điều chỉnh khi cần thiết.

xrandr --output LVDS1 --output VIRTUAL1 --mode 1920x1200 --right-of LVDS1 --output VIRTUAL2 --mode 1920x1200 --right-of VIRTUAL1 --rotate left
./screenclone -b -x 1:0 -x 2:1 &
sleep 1
xrandr -d :8 --output DP-2 --right-of DP-1 --rotate left
fg

Lưu ý cách xoay màn hình phải được xác định hai lần. Bạn có thể bỏ qua lời gọi thứ hai xrandrnếu không muốn quay (và dĩ nhiên, --rotate lefttrong lần gọi thứ nhất).

Bằng cách kết thúc screenclonebằng Ctrl + C (đã được đưa vào nền trước một lần nữa bằng cách sử dụng fg), bộ điều hợp đồ họa rời sẽ bị tắt. Bạn có thể xác minh điều này với cat /proc/acpi/bbswitch. Tuy nhiên, không gian màn hình được dành riêng cho hai màn hình bị ngắt kết nối. Để chỉ quay lại màn hình máy tính xách tay, hãy sử dụng

xrandr --output LVDS1 --output VIRTUAL1 --off --output VIRTUAL2 --off

Dọn dẹp

  • Sao chép screenclonevào một thư mục trong PATH(ví dụ, /usr/local/bin)

  • Tạo một bashkịch bản để tự động hóa khởi động và tắt màn hình ngoài. Tập lệnh này sẽ thiết lập màn hình ngoài khi bắt đầu và chuyển sang màn hình máy tính xách tay chỉ khi thoát (ví dụ: bằng cách nhấn Ctrl + C).

    #!/bin/bash
    set -m
    xrandr --output LVDS1 --output VIRTUAL1 --mode 1920x1200 --right-of LVDS1 --output VIRTUAL2 --mode 1920x1200 --right-of VIRTUAL1 --rotate left
    trap "xrandr --output LVDS1 --output VIRTUAL1 --off --output VIRTUAL2 --off" EXIT
    screenclone -b -x 1:0 -x 2:1 &
    sleep 1
    xrandr -d :8 --output DP-2 --right-of DP-1 --rotate left
    fg
    
  • Tùy chọn thay thế: Bộ sưu tập tập lệnh của tôi chứa hai tập lệnh extmon-startextmon-stopcho phép và vô hiệu hóa màn hình thứ hai và thứ ba. Chỉnh sửa extmon-starttập lệnh cho phù hợp với cấu hình của bạn.

Người giới thiệu

Câu trả lời của tôi phần lớn rút ra từ các tài nguyên sau:


Điều này làm việc thực sự tốt cho tôi, cảm ơn bạn. Bạn có gặp vấn đề với nhiều độ trễ khi sử dụng máy tính để bàn ảo và Compiz với giải pháp này không?
damon

@blackrobot: Tôi đang sử dụng Gnome Shell, có một số độ trễ rất nhỏ nhưng điều này không làm phiền tôi.
krlmlr

@krlmlr: có cơ hội nào để có được thiết lập tương tự này vào ngày 13.10 không?
flx

@flx: Trong 13.10, CRTC "ảo" được tích hợp vào xorg-xserver-video-inteltrình điều khiển chứng khoán , không cần sử dụng PPA hoặc bản vá của tôi. Cũng không cần chỉnh sửa xorg.conf, CRTC "ảo" được tạo theo yêu cầu. Phần còn lại nên tương tự. Bây giờ thậm chí còn có một công cụ thay thế screenclone, nó được gọi intel-virtual-outputvà sẽ tích hợp trơn tru hơn với cấu hình hiển thị của máy tính để bàn của bạn. Tôi sẽ viết bài một khi tôi có được thiết lập ba đầu với xoay để hoạt động bình thường.
krlmlr

1
@flx: Bạn cần thêm một chế độ ( xrandr --newmode; cvtcông cụ giúp tính toán mô hình) và gán chế độ này cho màn hình ảo ( xrandr --addmode). Chế độ phải phù hợp với màn hình thực của bạn. Xem nếu một màn hình ảo thứ hai được tạo tự động. Đây là những gì intel-virtual-outputcông cụ tự làm, và có vẻ như các vấn đề cuối cùng đã được sửa chữa hoặc sắp xảy ra.
krlmlr

2

Không biết về T420S nhưng T420 của tôi có thể kéo dài tới 9 giờ với

  1. Theo dõi bóng tối
  2. nvidia bị vô hiệu hóa với bumblebee / bbswith
  3. và điều chỉnh thêm với pm-utils

Và vâng, đây là pin mặc định. Vì vậy, bạn nên dễ dàng có được 2 giờ, vì vậy:

(2) Trong /etc/X11/xorg.conf Thử với tùy chọn "ConnectedMonitor" "DFP-0" cho trình điều khiển nvidia.

(3) Để sử dụng màn hình thứ hai của bạn, bạn cần một bumblebee xorg.conf đã sửa đổi Xem https://github.com/Bumblebee-Project/Bumblebee/issues/77 để biết chi tiết.


1
Cảm ơn đã trả lời. Tôi có hiểu đúng rằng bạn không sử dụng màn hình thứ hai (DVI) không? Thành thật mà nói: Tôi thấy thật phức tạp khi xử lý vấn đề mà bạn liên kết - tôi chắc chắn sẽ cố gắng, nhưng sẽ mất hàng giờ cho đến khi tôi có một ý tưởng nhỏ về những gì tôi phải thay đổi (và tại sao). Trên thực tế, đây là máy tính xách tay của tôi cho công việc, và tôi chỉ muốn nó hoạt động. Loại hy vọng rằng một tác vụ như kết nối màn hình thứ hai sẽ không khiến tôi phải theo đuổi các vấn đề mở của một phần mềm mà tôi chưa từng nghe về một tuần trước ... :-(
jan groth 19/212

Nó thực sự đơn giản như trong Vấn đề github, chỉ cần xóa các dòng (newline) Tùy chọn "UseEDID" "false" (newline) Tùy chọn "ConnectedMonitor" "DFP" (newline) từ /etc/bumblebee/xorg.conf.nvidia và bumblebee với tạo đầu ra trên Cổng Hiển thị. Bạn sẽ nhận được một hình ảnh trống khi bắt đầu. Bạn có thể lấy ví dụ xterm ở đó với xuất khẩu HIỂN THỊ =: 8.0 (dòng mới) xterm. (nhấn wtf vào đây sẽ gửi bình luận thay vì tạo một dòng mới)
Kẻ hèn nhát ẩn danh

2

Tôi sử dụng T420 tại nơi làm việc với trạm nối loại 4438. Tôi có thể sử dụng hai màn hình màn hình rộng (không có màn hình chính) hoặc 1 màn hình màn hình rộng với màn hình chính sử dụng các cổng DVI trên trạm nối.

Tôi chỉ vô hiệu hóa Optimus và đặt nó luôn sử dụng thẻ NVIDIA. Sau đó, tôi chạy nvidia-xconfig và sử dụng cài đặt nvidia để thiết lập màn hình kép, lưu cài đặt vào tệp xorg.conf và khởi động lại máy.

Tôi có thể có được thời gian sử dụng ít hơn 2 giờ theo cách này (mà không cần bất kỳ sửa đổi nào khác để cho phép có thêm thời lượng pin). Vấn đề chính tôi gặp phải là nó không tự động chuyển sang một màn hình khi được khởi động lại từ trạm nối hoặc bị xóa khỏi trạm nối. Tôi đã không có thời gian để xem xét điều này mặc dù.

Tôi sẽ thử Bumble Bee vào cuối tuần này để xem liệu tôi có thể làm cho nó hoạt động được không. Tôi sẽ cố nhớ để đăng ở đây nếu tôi có thể làm cho nó hoạt động.


2

Tôi có cùng một vấn đề. Tôi đã thực hiện một số nghiên cứu và giải quyết một phần nó. Tôi vẫn đang làm việc trên một giải pháp hoàn chỉnh.

Phần cứng: Thinkpad T420s với dock Thinkpad đồ họa Nvidia 4200M + Intel HD 3000.

Triệu chứng: T420 không thể nhận ra màn hình ngoài kết nối với bất kỳ cổng DVI nào trên dock. Nó có thể nhận ra màn hình ngoài thông qua cổng VGA trên dock. Tuy nhiên, chất lượng kém.

Nguyên nhân sâu xa: 1. T420 có thẻ Nvidia kết nối với cổng DVI trong khi thẻ Intel sang cổng VGA trên dock. 2. Không giống như Win 7, Ubuntu không thể chuyển đổi giữa thẻ Nvidia và thẻ Intel. Theo mặc định, chỉ có thẻ Intel đang được sử dụng.

Giải pháp: 0. Đặt T420 vào đế và kết nối màn hình ngoài với cổng DVI. 1. BIOS Goto, tìm "Hiển thị", thay đổi cấu hình thành "Thẻ rời" và "Vô hiệu hóa Nvidia Optimus". Bây giờ T420s buộc phải sử dụng thẻ Nvidia. 2. Tải xuống và cài đặt trình điều khiển Nvidia cho Linux. Google hướng dẫn chi tiết. 3. Sau khi cài đặt, hãy thực hiện "sudo nvidia-settings". 4. Trong cửa sổ bật lên, "Cấu hình hiển thị máy chủ X", nhấp vào "Phát hiện hiển thị". Bạn sẽ có thể thấy màn hình bên ngoài bây giờ. 5. Trong cùng một trang, thay đổi Cấu hình thành "TwinView", Độ phân giải "Tự động" hoặc độ phân giải gốc của T420s, giả sử, 1600x900. 6. Nhấp vào "Áp dụng", bạn sẽ có thể thấy màn hình nền bên ngoài. 7. Nhấp vào "Lưu vào tệp cấu hình X".

[Cập nhật]

Sử dụng bộ phân tán, tôi có thể chuyển đổi màn hình T420 và màn hình ngoài theo cách thủ công. Vẫn không phải là giải pháp tốt nhất, nhưng tôi nghĩ nó đủ tốt với tôi.

Vì vậy, hãy thử kết hợp đồ họa rời Nvidia + kết hợp phân tán.


... vấn đề với thẻ rời là nó làm cạn kiệt pin rất nhanh ...
jan groth 26/212

Bạn sẽ có thể sử dụng cổng hiển thị ở chế độ nvidia Optimus bằng phương pháp được mô tả ở đây: zachstechnotes.blogspot.com/2012/04/post-title.html Bằng cách đó, bạn có thể có thời lượng pin tốt và sử dụng màn hình ngoài trên cổng hiển thị (mặc dù bạn sẽ kết xuất bằng thẻ intel, vì vậy chất lượng có thể không tốt như bạn muốn
Zach

1

VGA out trên T520 của tôi hoạt động rất tốt (không bị mờ) khi sử dụng Đồ họa tích hợp (cài đặt Intel BIOS) nhưng tôi phải đặt màn hình 1920x1200 để chỉ hiển thị rộng 1600 pixel để tôi có các sọc đen ở cả hai bên. Không có cài đặt đó, màn hình sẽ kéo dài 1600 px trên toàn bộ màn hình 1920 và vâng, mọi thứ sau đó trông mờ ảo.

Tôi đã hỏi một câu hỏi tương tự vài ngày trước và vẫn bối rối trước những câu trả lời này. Có vẻ như @Anonymous Coward chỉ chạy một màn hình ngoài nhưng tôi (và tôi tin rằng OP) muốn có thể chạy màn hình máy tính xách tay (trên intel) và màn hình ngoài thông qua DisplayPort / DVI (trên nvidia). Vì vậy, tôi nghĩ Optimus / Bumblebee có thể được yêu cầu.

Nếu tôi nghĩ vấn đề hiển thị này chắc chắn tôi sẽ đăng những phát hiện của mình; xin vui lòng làm tương tự nếu bạn đạt đến đích đầu tiên.


1
Cảm ơn đã trả lời! Nếu tôi giảm độ phân giải của màn hình ngoài xuống 1600x1200, màn hình thậm chí còn tệ hơn ... BTW, tôi đổ lỗi cho nhà sản xuất màn hình về độ mờ - nghe một vài câu chuyện rằng các nguồn đầu vào tương tự có thể là tiêu chuẩn khá thấp hiện nay, bởi vì mọi người sử dụng kết nối kỹ thuật số. Ồ, và tôi chắc chắn sẽ giữ vé này được cập nhật.
jan groth
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.