Wine (phần mềm)

Wine - Wine Is Not an Emulator
Phát triển bởiAlexander Julliard và nnk
Phát hành lần đầu4 tháng 7 năm 1993; 31 năm trước (1993-07-04)
Phiên bản ổn định
5.0.2 [1] / 7 tháng 8 năm 2020; 4 năm trước (2020-08-07)
Bản xem thử
5.15[2] / 14 tháng 8 năm 2020; 4 năm trước (2020-08-14)
Kho mã nguồnhttps://source.winehq.org/git/wine.git https://github.com/wine-mirror/wine
Viết bằngC,[3] Yacc,[4] JavaScript,[5] C++,[6] Perl[7]
Hệ điều hành
Nền tảngx86, x86-64, ARM
Ngôn ngữ có sẵnTiếng Anh
Thể loạiPhần mềm miễn phí
Giấy phépGNU LGPLv2.1+[10][11]
Websitehttp://www.winehq.org
Bài này nói về phần mềm Wine. Xem thêm nghĩa khác về wine (tiếng Anh) tại rượu vang

Wine (viết tắt của Wine is not an emulator - Wine không phải là chương trình giả lập) là một phần mềm tự do nguồn mở dùng để chạy các phần mềm viết cho Windows trên các hệ điều hành tương tự Unix (Linux, FreeBSD,...). Wine cũng cung cấp một thư viện phần mềm, được gọi là Winelib, dựa vào đó các nhà phát triển có thể biên dịch các ứng dụng Windows để giúp port chúng sang các hệ thống tương tự Unix.[12] Wine cung cấp môi trường runtime Windows riêng để chuyển các lời gọi hệ thống Windows thành các lời gọi hệ thống tuân thủ POSIX,[13] tạo lại cấu trúc thư mục của hệ thống Windows và cung cấp các triển khai thay thế của các thư viện hệ thống,[14] dịch vụ hệ thống Windows thông qua wineserver[15] và nhiều thành phần khác (như Internet Explorer, Windows Registry Editor,[16]msiexec[17]). Wine chủ yếu được viết bằng kỹ thuật đảo ngược thử nghiệm hộp đen, để tránh các vấn đề bản quyền.[18] Việc lựa chọn "Wine is Not an Emulator" làm tên của Wine Project là kết quả của một cuộc thảo luận đặt tên vào tháng 8 năm 1993[19] và ghi danh cho David Niemi. Có một số nhầm lẫn gây ra bởi FAQ khi sử dụng Windows Emulator[20] và các nguồn không hợp lệ khác xuất hiện sau khi tên Wine Project được đặt. Không có mô phỏng mã hoặc ảo hóa xảy ra khi chạy một ứng dụng Windows trong Wine.[21] Mô phỏng "thường sẽ đề cập đến việc thực thi mã được biên dịch dành cho một bộ xử lý (ví như x86) bằng cách giải thích/biên dịch lại phần mềm chạy trên một bộ xử lý khác (ví như PowerPC). Mặc dù tên đôi khi xuất hiện trong các biểu mẫu WINEwine, các nhà phát triển dự án đã đồng ý tiêu chuẩn hóa mẫu Wine.[22]

Wine được phát triển chủ yếu cho Linux và macOS,[23] và (Tính đến tháng 11 năm 2018) các gói được duy trì tốt có sẵn cho cả hai nền tảng.[24]

Trong một khảo sát năm 2007 bởi desktoplinux.com với 38.500 người dùng máy tính để bàn Linux, 31,5% số người được hỏi đã báo cáo sử dụng Wine để chạy các ứng dụng Windows.[25] Con số này lớn hơn tất cả các chương trình ảo hóa x86 cộng lại, cũng như lớn hơn 27,9% người báo cáo không chạy các ứng dụng Windows.[26]

Lịch sử

[sửa | sửa mã nguồn]
Logo WINE project
Logo WINE project

Dự án Wine khởi đầu năm 1993 nhằm hỗ trợ chạy các phần mềm của Windows 3.1 trên nền Linux. Người điều hành ban đầu là Bob Amstadt, sau đó là Alexander Julliard. Các bản phiên bản Wine sau này được mở rộng cho Unix, và hỗ trợ Win32.

Bob Amstadt, người lãnh đạo dự án ban đầu và Eric Youngdale bắt đầu dự án Wine vào năm 1993 như một cách để chạy các ứng dụng Windows trên Linux. Nó lấy cảm hứng từ hai sản phẩm của Sun Microsystems, Wabi cho hệ điều hành Solaris, và Public Windows Initiative,[27] đó là một nỗ lực để Windows API được triển khai lại hoàn toàn trong phạm vi công cộng dưới dạng tiêu chuẩn ISO nhưng bị từ chối do áp lực từ Microsoft năm 1996.[28] Wine ban đầu hướng đến các ứng dụng 16-bit cho Windows 3.x, nhưng tính đến năm 2010 tập trung vào các phiên bản 32-bit64 bit đã trở thành tiêu chuẩn trên các hệ điều hành mới hơn. Dự án bắt nguồn từ các cuộc thảo luận trên Usenet comp.os.linux vào tháng 6 năm 1993.[29] Alexandre Julliard has led the project since 1994.

Dự án đã được chứng minh là tốn thời gian và khó khăn cho các nhà phát triển, chủ yếu là do tài liệu không đầy đủ và không chính xác của Windows API. Mặc dù Microsoft cung cấp tài liệu rộng rãi cho hầu hết các chức năng Win32, một số lĩnh vực như định dạng filegiao thức không có thông số kỹ thuật có sẵn công khai từ MicrosoftWindows cũng bao gồm các chức năng cấp thấp không có docs, hành vi không có docs và che giấu lỗi mà Wine phải sao chép chính xác để cho phép một số ứng dụng hoạt động đúng.[30] Do đó, nhóm Wine đã dò ngược nhiều lệnh gọi chức năng và định dạng file trong các lĩnh vực như thunk.[cần dẫn nguồn]

Dự án Wine ban đầu phát hành Wine theo cùng Giấy phép MIT với X Window System, nhưng do lo ngại về các phiên bản độc quyền của Wine không đóng góp các thay đổi của họ trở lại dự án cốt lõi,[31] các hoạt động kể từ tháng 3 năm 2002 đã sử dụng LGPL để cấp phép.[32]

Wine chính thức bước vào phiên bản beta với phiên bản 0.9 ngày 25/10/2005.[33] Phiên bản 1.0 được phát hành ngày 17/6/2008,[34] sau 15 năm phát triển. Phiên bản 1.2 được phát hành ngày 16/7/2010,[35] version 1.4 ngày 7/3/2012,[36] Phiên bản 1.6 ngày 18/7/2013.[37] và phiên bản 1.8 ngày 19/12/2015.[38] Phiên bản phát triển được phát hành khoảng hai tuần một lần.

Wine-staging là một tập hợp các bản vá tương đối tích cực được duy trì một cách tương đối độc lập mà các nhà phát triển WineHQ coi là đã sẵn sàng để sáp nhập vào wine repository, nhưng vẫn được coi là hữu ích bởi phân nhánh wine-compholio. Nó chủ yếu bao gồm các chức năng thử nghiệm và sửa lỗi. Kể từ tháng 1 năm 2017, các bản vá trong wine-staging bắt đầu được tích cực sáp nhập vào thượng nguồn WineHQ khi wine-compholio chuyển giao dự án cho Alistair Leslie-Hughes, một nhà phát triển chính của WineHQ.[39]

Tài trợ doanh nghiệp

[sửa | sửa mã nguồn]

Nhà tài trợ chính của Wine là CodeWeavers, công ty thuê Julliard và nhiều nhà phát triển Wine khác để làm việc trên Wine và trên CrossOver, phiên bản Wine được hỗ trợ của CodeWeavers. CrossOver bao gồm một số điều chỉnh dành riêng cho ứng dụng không được coi là phù hợp với phiên bản WineHQ, cũng như một số thành phần độc quyền bổ sung.[40]

Sự tham gia của Corel trong một thời gian đã hỗ trợ dự án, chủ yếu bằng cách thuê Julliard và những người khác làm việc với nó. Corel đã quan tâm đến việc port WordPerfect Office, bộ ứng dụng văn phòng của họ, sang Linux (đặc biệt là Corel Linux). Corel sau đó đã hủy tất cả các dự án liên quan đến Linux sau khi Microsoft đầu tư lớn vào Corel, dừng nỗ lực Wine của họ.[41]

Các nhà tài trợ khác của công ty bao gồm Google, đã thuê CodeWeavers để sửa Wine để Picasa chạy đủ tốt để port trực tiếp sang Linux bằng cách sử dụng cùng một nhị phân như trên Windows; Google sau đó đã trả tiền để cải thiện sự hỗ trợ của Wine cho Adobe Photoshop CS2. Wine ũng là người thụ hưởng thường xuyên của chương trình Summer of Code của Google.[42][43]

Thiết kế

[sửa | sửa mã nguồn]

Mục tiêu của Wine là triển khai các Windows API đầy đủ hoặc một phần được yêu cầu bởi các chương trình mà người dùng Wine muốn chạy trên hệ thống tương tự Unix.

Kiến trúc cơ bản

[sửa | sửa mã nguồn]

Các giao diện lập trình của họ hệ điều hành Microsoft Windows bao gồm phần lớn thư viện liên kết động (DLL). Chúng chứa một số lượng lớn các wrapper sub-routines cho các lời gọi hệ thống của kernel, chương trình NTOS kernel-mode (ntoskrnl.exe). Một chương trình Windows thông thường gọi một số Windows DLLs, lần lượt gọi các thư viện gdi/user32 ở chế độ người dùng, lần lượt sử dụng kernel32.dll (hệ thống con win32) chịu trách nhiệm xử lý kernel thông qua các cuộc gọi hệ thống. Lớp lời gọi hệ thống được coi là riêng tư đối với các lập trình viên Microsoft vì tài liệu không có sẵn công khai và tất cả các giao diện được xuất bản đều dựa vào các hệ thống con chạy trên kernel. Bên cạnh đó, có một số giao diện lập trình được triển khai như các dịch vụ chạy dưới dạng các tiến trình riêng biệt. Các ứng dụng giao tiếp với các dịch vụ chế độ người dùng thông qua RPC.[44]

Wine triển khai giao diện nhị phân ứng dụng Windows (ABI) hoàn toàn trong không gian người dùng, thay vì dưới dạng mô-đun hạt nhân. Wine chủ yếu phản ánh hệ thống phân cấp, với các dịch vụ thường được cung cấp bởi kernel trong Windows[45] thay vào đó được cung cấp bởi một daemon được gọi là wineserver, có nhiệm vụ thực hiện chức năng cơ bản của Windows, cũng như tích hợp với X Window System, và dịch tín hiệu thành bản địa Windows ngoại lệ. Mặc dù Wineserver triển khai một số khía cạnh của Windows kernel, nhưng không thể sử dụng trình điều khiển Windows gốc với nó, do kiến trúc cơ bản của Wine.[44] Điều này ngăn các ứng dụng và trò chơi nhất định hoạt động, ví dụ: những ứng dụng sử dụng tính năng chống sao chép StarForce yêu cầu các driver ảo hóa thiết bị để cài đặt.

Các thư viện và ứng dụng

[sửa | sửa mã nguồn]

Wine cho phép tải cả Windows DLL và các đối tượng chia sẻ Unix cho các chương trình Windows của nó. Việc triển khai dựng sẵn của nó đối với Windows DLL cơ bản nhất, cụ thể là NTDLL, KERNEL32, GDI32, USER32, sử dụng phương thức đối tượng dùng chung vì họ phải sử dụng các hàm trong hệ điều hành máy chủ là tốt. Các thư viện cấp cao hơn, chẳng hạn như WineD3D, được sử dụng định dạng DLL tự do. Trong nhiều trường hợp, người dùng có thể chọn tải DLL từ Windows thay vì cài đặt bằng wine. Làm như vậy có thể cung cấp các chức năng chưa được thực hiện bởi wine, nhưng cũng có thể gây ra trục trặc nếu nó phụ thuộc vào một thứ khác không có trong wine.[44]

Wine theo dõi trạng thái thực hiện thông qua kiểm thử đơn vị được thực hiện tại mỗi lần commit git.[46]

Đồ họa và gaming

[sửa | sửa mã nguồn]

Mặc dù hầu hết các phần mềm văn phòng không sử dụng các API đồ họa tăng tốc GPU phức tạp, các trò chơi máy tính làm vậy. Để chạy các trò chơi này một cách chính xác, Wine sẽ phải chuyển tiếp các hướng dẫn vẽ tới hệ điều hành chủ và thậm chí dịch chúng sang thứ mà hệ điều hành chủ có thể hiểu.

DirectX là một bộ sưu tập các API của Microsoft cho render, âm thanh và đầu vào. Kể từ năm 2019, Wine 4.0 chứa triển khai DirectX 12 cho API Vulkan và DirectX 11.2 cho OpenGL.[47] Wine 4.0 cũng cho phép Wine chạy các ứng dụng Vulkan bằng cách trao các lệnh vẽ cho hệ điều hành chủ hoặc trong trường hợp macOS, bằng cách dịch chúng sang Metal API bằng MoltenVK.[47]

XAudio
Tính đến tháng 2 năm 2019, Wine 4.3 sử dụng thư viện FAudio (và Wine 4.13 bao gồm một bản sửa lỗi cho nó) để triển khai API âm thanh XAudio2 (và hơn thế nữa).[48][49]
XInput và Raw Input
Wine, từ 4.0 (2019), hỗ trợ bộ điều khiển trò chơi thông qua các triển khai dựng sẵn của các thư viện này. Chúng được xây dựng dưới dạng các đối tượng chia sẻ Unix khi chúng cần truy cập vào các giao diện điều khiển của HĐH cơ bản, đặc biệt thông qua SDL.[47]
Direct2D
Wine 4.0 hỗ trợ Direct2D 1.2.[47]

Phần lớn nỗ lực DirectX của Wine tập trung vào việc xây dựng WineD3D, một lớp dịch từ các lệnh gọi Direct3D và DirectDraw API vào OpenGL. Kể từ năm 2019, thành phần này hỗ trợ tối đa DirectX 11.[47] Kể từ ngày 12 tháng 12 năm 2016, wine đủ tốt để chạy Overwatch với D3D11.[50] Bên cạnh việc được sử dụng trong Wine, WineD3D DLLs cũng hữu ích trong chính Hệ điều hành Windows, cho phép các card đồ họa cũ hơn chạy các trò chơi bằng các phiên bản DirectX mới hơn và cho các trò chơi dựa trên DDraw cũ để hiển thị chính xác.[51]

Một số công việc đang diễn ra để chuyển phụ trợ Direct3D sang API Vulkan. Hỗ trợ Direct3D 12 trong 4.0 được cung cấp bởi tiểu dự án "vkd3d",[47] and WineD3D has in 2019 been experimentally ported to use the Vulkan API.[52]

Wine, khi được vá, có thể chạy Direct3D 9 mà không cần dịch thông qua ứng dụng tự do nguồn mở Gallium3D State Tracker for DX9. Lớp Gallium3D cho phép truyền trực tiếp các lệnh vẽ.[53]

Giao diện người dùng

[sửa | sửa mã nguồn]
Ảnh chụp màn hình cho thấy Wine có thể được cấu hình như thế nào để bắt chước các phiên bản Windows khác nhau, đi xa như Windows 2.0 như được hiển thị.

Wine thường được gọi từ trình thông dịch dòng lệnh: wine [program.exe].[54]

Có tiện ích winecfg khởi động giao diện người dùng đồ họa với các điều khiển để điều chỉnh các tùy chọn cơ bản.[55] Nó là một tiện ích cấu hình GUI đi kèm với Wine. Winecfg giúp cấu hình Wine dễ dàng hơn bằng cách không cần chỉnh sửa trực tiếp registry, mặc dù, nếu cần, điều này có thể được thực hiện với trình chỉnh sửa sổ đăng ký đi kèm (tương tự như regedit của Windows).

Ứng dụng bên thứ 3

[sửa | sửa mã nguồn]
PlayOnLinux

Một số ứng dụng yêu cầu nhiều tinh chỉnh hơn là chỉ cài đặt ứng dụng để hoạt động chính xác, chẳng hạn như cấu hình thủ công Wine để sử dụng một số Windows DLLs. Dự án Wine không tích hợp các cách giải quyết đó vào codebase của Wine, thay vào đó chỉ muốn tập trung vào việc cải thiện việc triển khai Windows API của Wine. Mặc dù cách tiếp cận này tập trung phát triển Wine vào khả năng tương thích lâu dài, nhưng nó khiến người dùng gặp khó khăn khi chạy các ứng dụng yêu cầu giải pháp. Do đó, nhiều ứng dụng của bên thứ ba đã được tạo để giảm bớt việc sử dụng những ứng dụng không hoạt động ngoài hộp trong chính Wine. Wine wiki duy trì một trang các ứng dụng của bên thứ ba hiện tại và trước đây.[56]

  • Winetricks là một tập lệnh để cài đặt một số thành phần cơ bản (điển hình là Microsoft DLL và phông chữ) và chỉnh sửa cài đặt cần thiết cho một số ứng dụng để chạy chính xác trong Wine Wine.[57] Nó hoàn toàn có thể tự động cài đặt một số ứng dụng và trò chơi, bao gồm áp dụng bất kỳ cách giải quyết cần thiết nào. Winetricks có GUI.[58] Dự án Wine sẽ chấp nhận báo cáo lỗi cho người dùng Winetricks, không giống như hầu hết các ứng dụng của bên thứ ba. Nó được duy trì bởi nhà phát triển Wine Austin English.[59]
  • Q4Wine là một GUI mở để thiết lập nâng cao của Wine.
  • Wine-Doors là một công cụ quản lý ứng dụng cho desktop Gnome có thêm chức năng cho Wine. Wine-Door là một giải pháp thay thế cho WineTools nhằm cải thiện các tính năng của WineTools và mở rộng ý tưởng ban đầu với phương pháp thiết kế hiện đại hơn.[60]
  • IEs4Linux là một tiện ích để cài đặt tất cả các phiên bản Internet Explorer, bao gồm phiên bản 4 đến 6 và phiên bản 7 (bản beta).[61]
  • Wineskin là một tiện ích để quản lý các phiên bản công cụ Wine và tạo trình bao cho macOS.[62]
  • PlayOnLinux là một ứng dụng giúp dễ dàng cài đặt các ứng dụng Windows (chủ yếu là các trò chơi). Ngoài ra còn có một phiên bản Macintosh tương ứng được gọi là PlayOnMac.
  • Lutris là một ứng dụng mã nguồn mở giúp dễ dàng cài đặt các trò chơi Windows trên Linux.[63]
  • Bordeaux là trình quản lý cấu hình Wine GUI độc quyền chạy các ứng dụng winelib. Nó cũng hỗ trợ cài đặt các tiện ích của bên thứ ba, cài đặt các ứng dụng và trò chơi và khả năng sử dụng các cấu hình tùy chỉnh. Bordeaux hiện đang chạy trên Linux, FreeBSD, PC-BSD, Solaris, OpenSolaris, OpenIndiana,[64][65] và macOS.

Chức năng

[sửa | sửa mã nguồn]

Các nhà phát triển phần Direct3D của Wine đã tiếp tục triển khai các tính năng mới như shader pixel để tăng hỗ trợ trò chơi.[66] Wine cũng có thể sử dụng DLL gốc trực tiếp, do đó tăng chức năng, nhưng sau đó cần có giấy phép cho Windows trừ khi DLL được phân phối cùng với ứng dụng.

cũng bao gồm các triển khai nguồn mở của riêng mình đối với một số chương trình Windows, chẳng hạn như notepad, wordpad, control, iexplore, và explorer.[67]

The Wine Application Database (AppDB) là một cơ sở dữ liệu trực tuyến được cộng đồng duy trì về các chương trình Windows hoạt động với Wine và chúng hoạt động tốt như thế nào.

Tương thích ngược

[sửa | sửa mã nguồn]

Wine đảm bảo tốt khả năng tương thích ngược với các ứng dụng Windows cũ, bao gồm cả những ứng dụng được viết cho Windows 3.1x.[68] Wine có thể bắt chước các phiên bản Windows khác nhau cần thiết cho một số chương trình, đi xa như phiên bản Windows 2.0.[69] Tuy nhiên, hỗ trợ Windows 1.x và Windows 2.x đã bị xóa khỏi phiên bản phát triển Wine 1.3.12. Nếu DOSBox được cài đặt trên hệ thống, phiên bản phát triển Wine 1.3.12 và sau đó sẽ hiển thị tùy chọn "Windows 2.0" để phiên bản Windows bắt chước, nhưng Wine vẫn không chạy hầu hết các chương trình Windows 2.0 vì các chức năng MS-DOS và Windows hiện chưa được tích hợp.

Khả năng tương thích ngược trong Wine vượt trội so với Windows, vì các phiên bản Windows mới hơn có thể buộc người dùng nâng cấp các ứng dụng Windows cũ. Trong nhiều trường hợp, Wine có thể cung cấp hỗ trợ kế thừa tốt hơn so với các phiên bản Windows mới hơn với "Compatibility Mode". Wine có thể chạy các ứng dụng Windows 16-bit trên hệ điều hành 64-bit, sử dụng CPU x86-64 (64-bit),[70] một chức năng không có trong các phiên bản 64 bit của Microsoft Windows.[71][72]

Wine hỗ trợ một phần các ứng dụng console Windows và người dùng có thể chọn sử dụng phụ trợ nào để quản lý console (các lựa chọn bao gồm raw streams, curses và user32).[73] Khi sử dụng raw streams hay curses backends, các ứng dụng Windows sẽ chạy trong Unix terminal.

Ứng dụng 64-bit

[sửa | sửa mã nguồn]

Hỗ trợ sơ bộ cho các ứng dụng Windows 64 bit đã được thêm vào Wine 1.1.10, vào tháng 12 năm 2008.[74] Tính đến tháng 4 năm 2019, sự hỗ trợ được coi là ổn định. Hai phiên bản wine được built riêng biệt và kết quả là chỉ bản built Wine64 tạo ra một môi trường chỉ có khả năng chạy các ứng dụng x86-64.[75]

Tính đến tháng 4 năm 2019, Wine có hỗ trợ ổn định cho bản build WoW64, cho phép cả ứng dụng Windows 32 bit và 64 bit chạy trong cùng một phiên bản Wine. Để thực hiện quá trình xây dựng như vậy, trước tiên người ta phải build phiên bản 64 bit, sau đó build phiên bản 32 bit tham chiếu phiên bản 64 bit. Giống như WoW64 của Microsoft, quy trình build 32 bit sẽ thêm các phần cần thiết để xử lý các chương trình 32 bit vào bản build 64 bit.[75] This functionality is seen from at least 2010.[76]

Các phiên bản đầu tiên của Microsoft Windows chạy trên MS-DOS và các chương trình Windows có thể phụ thuộc vào các chương trình MS-DOS có thể chạy được. Wine không hỗ trợ tốt cho MS-DOS, nhưng bắt đầu với phiên bản phát triển 1.3.12, Wine thử chạy các chương trình MS-DOS trong DOSBox nếu DOSBox có sẵn trên hệ thống.[77] Tuy nhiên, do lỗi., các phiên bản hiện tại của Wine xác định không chính xác các chương trình Windows 1.x và Windows 2.x là các chương trình MS-DOS, cố gắng chạy chúng trong DOSBox (không hoạt động).[78]

Wine cung cấp Winelib, cho phép các triển khai đối tượng dùng chung của Windows API được sử dụng làm thư viện thực tế cho chương trình Unix. Điều này cho phép mã Windows được tích hợp vào các file thực thi Unix gốc. Kể từ tháng 10 năm 2010, Winelib cũng hoạt động trên nền tảng ARM.[79]

Kiến trúc phi-x86

[sửa | sửa mã nguồn]

Hỗ trợ cho Solaris SPARC đã bị loại bỏ trong phiên bản 1.5.26.

ARM, Windows CE, và Windows RT

[sửa | sửa mã nguồn]

Wine cung cấp một số hỗ trợ cho bộ xử lý ARM (cũng như ARM64/AArch64) và các bản Windows chính thức chạy trên nó. Tính đến tháng 4 năm 2019, Wine có thể chạy cá ứng dụng ARM/Win32 dành cho các thiết bị đã mở khóa Windows RT (nhưng không phải chương trình Windows RT). Không hỗ trợ Windows CE (x86 hoặc ARM),[80] nhưng không chính thức, một bản concept tiền alpha được gọi là WineCE cho phép một số hỗ trợ.[81]

Wine cho Android

[sửa | sửa mã nguồn]
WINE Solitaire đang chạy trên Android

Ngày 3 tháng 2 năm 2013 tại buổi hội nghị FOSDEM ở Brussels, Alexandre Julliard đã trình diễn bản demo đầu tiên của Wine chạy trên hệ điều hành [Android (hệ điều hành)|Android] của Google.[82]

Các bản build thử nghiệm của WINE cho Android (x86 và ARM) đã được phát hành vào cuối năm 2017. Nó đã được cập nhật thường xuyên bởi các nhà phát triển chính thức kể từ đó.[9] Các bản build mặc định không triển khai mô phỏng kiến trúc chéo thông qua QEMU và kết quả là các phiên bản ARM sẽ chỉ chạy các ứng dụng ARM sử dụng Win32 API.[83]

Ứng dụng Microsoft

[sửa | sửa mã nguồn]

Wine, mặc định, sử dụng các bản dựng Windows chuyên dụng của GeckoMono để thay thế cho Internet Explorer.NET Framework của Microsoft. Wine có các triển khai tích hợp của JScriptVBScript. Có thể tải xuống và chạy trình cài đặt của Microsoft cho các chương trình đó thông qua winetricks hoặc thủ công.

Wine được biết là không có hỗ trợ tốt cho hầu hết các phiên bản Internet Explorer. Trong tất cả các phiên bản gần đây, Internet Explorer 8 cho Windows XP là phiên bản duy nhất báo cáo xếp hạng có thể sử dụng trên AppDB của Wine, vượt trội.[84] Winetricks cung cấp cài đặt tự động cho Internet Explorer 6 đến 8, vì vậy các phiên bản này có thể được mong đợi hoạt động tốt với các cách giải quyết tích hợp của nó.

Một cách khác để cài đặt Internet Explorer trực tiếp là sử dụng IEs4Linux không còn tồn tại. Nó không tương thích với các phiên bản mới nhất của Wine,[85] và sự phát triển của IEs4Linux không hoạt động.

Các phiên bản khác của Wine

[sửa | sửa mã nguồn]

Sự phát triển cốt lõi của Wine nhằm mục đích triển khai chính xác toàn bộ API Windows và đôi khi bị tụt lại trong một số lĩnh vực tương thích với các ứng dụng nhất định. Ví dụ như Direct3D vẫn chưa được triển khai cho đến năm 1998,[86] mặc dù các bản phát hành mới hơn đã có một triển khai ngày càng hoàn thiện.[87]

CodeWeavers tiếp thị CrossOver đặc biệt để chạy Microsoft Office và các ứng dụng Windows lớn khác, bao gồm một số trò chơi. CodeWeavers thuê Alexandre Julliard để làm việc trên Wine và đóng góp phần lớn mã của nó cho dự án Wine theo LGPL. CodeWeavers cũng đã phát hành một phiên bản mới có tên CrossOver Mac cho các máy tính Apple Macintosh dựa trên chip Intel ngày 10 tháng 1 năm 2007.[88]

CrossOver hiện bao gồm chức năng của cả hai dòng CrossOver Games và CrossOver Pro, do đó CrossOver Games và CrossOver Pro không còn có sẵn dưới dạng các sản phẩm đơn lẻ.[89]

CrossOver Games đã được tối ưu hóa để chạy video game Windows. Không giống CrossOver, nó không tập trung vào việc cung cấp phiên bản Wine ổn định nhất. Thay vào đó, các tính năng thử nghiệm được cung cấp để hỗ trợ các trò chơi mới hơn.[90]

Cedega/WineX

[sửa | sửa mã nguồn]

Findev Inc. sản xuất phần mềm Cedega độc quyền. sản xuất phần mềm Cedega độc quyền. Trước đây được biết đến với tên WineX, Cedega là một phân nhánh từ phiên bản Wine được cấp phép cuối cùng của MIT vào năm 2002. Giống như CrossOver Games, Cedega của Findev được nhắm đến để chạy các trò chơi video của Windows. Vào ngày 7 tháng 1 năm 2011, Findev Inc. đã công bố tiếp tục phát triển Cedega Technology dưới GameTree Developer Program. Findev Inc. cho phép các thành viên tiếp tục sử dụng ID và mật khẩu Cedega của họ cho đến ngày 28 tháng 2 năm 2011.[91]

Findev cũng đã sản xuất Cider, một thư viện cho các máy Macintosh chạy chip Intel của Apple. Thay vì là một sản phẩm của người dùng cuối, Cider (giống với Winelib) là một trình bao cho phép các nhà phát triển điều chỉnh các trò chơi của họ để chạy tự nhiên trên máy Macintosh chạy chip Intel mà không có bất kỳ thay đổi nào về mã nguồn.

WINE@Etersoft

[sửa | sửa mã nguồn]

Công ty Nga Etersoft đã phát triển phiên bản độc quyền của Wine từ năm 2006. WINE@Etersoft hỗ trợ các ứng dụng phổ biến của Nga (ví dụ như, 1C:Enterprise của 1C Company).[92] For 2010, Etersoft sẽ phát hành WINE @ Etersoft CAD, được định hướng theo hệ thống CAD, chẳng hạn như AutoCAD, BricsCADCompass-3D.

Darwine là một port của các thư viện Wine đến Darwin và macOS cho cả kiến trúc PowerPC và Intel x86. Tất cả các bản vá cho phiên bản x86 đã được sáp nhập trở lại vào nhánh chính của Wine vào năm 2009. Phát triển trên phiên bản PPC đã bị hủy bỏ. Mike Kronenberg trước đây đã tạo WineHelper cho Darwine để thêm ứng dụng kiểu GUI và macOS để tương tác với Wine, sau này được thay thế bởi WineBottler.[93] Darwine hiện cung cấp các gói tương thích macOS được biên dịch từ kho lưu trữ Wine.[94]

Pipelight Team đã tạo một phiên bản tùy chỉnh của Wine (Wine-compholio) hoạt động như một trình bao cho các plugin Windows NPAPI trong trình duyệt Linux.[95] Công cụ này cho phép người dùng Linux chạy Microsoft Silverlight, tương đương với Microsoft Adobe FlashUnity web plugin, cùng với nhiều plugin NPAPI khác. Dự án cung cấp một bộ các bản vá rộng rãi chống lại dự án Wine thượng nguồn,[96] một số trong đó đôi khi được phê duyệt và thêm vào thượng nguồn Wine. Pipelight phần lớn đã lỗi thời, vì các trình duyệt hiện đại không còn hỗ trợ các plugin NPAPI và Silverlight đã bị Microsoft phản đối.[97]

Vào ngày 21 tháng 8 năm 2018, Valve đã công bố một biến thể mới của Wine, có tên Proton, được thiết kế để tích hợp với phiên bản Linux của phần mềm Steam (bao gồm cả cài đặt Steam được tích hợp trong hệ điều hành SteamOS dựa trên Linux của họ và máy tính Steam Machine).[98] Mục tiêu của Valve đối với Proton là cho phép người dùng Steam trên Linux chơi các trò chơi thiếu port Linux gốc (đặc biệt là các trò chơi có mục lục), và cuối cùng, thông qua tích hợp với Steam cũng như các cải tiến để hỗ trợ trò chơi so với dòng chính Wine, để cung cấp cho người dùng "cùng trải nghiệm plug-and-play đơn giản" mà họ có được khi họ chơi trò chơi tự nhiên trên Linux.[98] Proton bước vào phiên bản beta công khai ngay sau khi được công bố.[98]

Valve đã hợp tác với CodeWeavers từ năm 2016 để phát triển các cải tiến cho hiệu suất chơi trò chơi của Wine, một số trong đó đã được sáp nhập vào dự án Wine thượng nguồn.[98] Một số cải tiến cụ thể được tích hợp vào Proton bao gồm triển khai Direct3D 10, 11 và 12 dựa trên Vulkan thông qua vkd3d[99] và DXVK,[100] cải tiến hiệu suất đa luồng thông qua esync,[101] cải thiện xử lý các trò chơi toàn màn hình và hỗ trợ phần cứng bộ điều khiển trò chơi tự động tốt hơn.[98]

Proton là nguồn mở hoàn toàn và có sẵn thông qua GitHub.[102]

Các dự án khác sử dụng mã nguồn của Wine

[sửa | sửa mã nguồn]

Các dự án khác sử dụng mã nguồn của Wine bao gồm:

  • ReactOS, một dự án nhằm tạo một hệ điều hành tương thích với Windows NT phiên bản 5.x trở lên (bao gồm Windows 2000 và những phiên bản kế nhiệm của nó) xuống mức trình điều khiển thiết bị. ReactOS sử dụng mã nguồn Wine đáng kể, nhưng do sự khác biệt về kiến trúc, mã ReactOS (như DLL được viết riêng cho nó, như ntdll, user32, kernel32, gdi32 và advapi) thường không được sử dụng lại trong Wine.[103] Tháng 7 năm 2009, Aleksey Bragin, trưởng dự án ReactOS, bắt đầu[104] một nhánh ReactOS mới gọi là Arwinss,[105] và nó đã được công bố chính thức vào tháng 1 năm 2010.[106] Arwinss là một triển khai thay thế của các thành phần cốt lõi Win32 và sử dụng hầu hết các phiên bản không thay đổi user32.dll và gdi32.dll của Wine.
  • WineBottler,[93] a wrapper around Wine in the form of a normal Mac Application. Manages multiple wine configurations for different programs in the form of "bottles."
  • Wineskin, một trình quản lý cấu hình Wine GUI mã nguồn mở cho macOS. Wineskin tạo ra một trình bao bọc xung quanh Wine dưới dạng Ứng dụng Mac thông thường. Trình bao bọc cũng có thể được sử dụng để tạo ra một "porting" phần mềm có thể phân phối.[107]
  • Odin, một dự án để chạy các nhị phân Win32 trên OS/2 hoặc chuyển đổi chúng sang định dạng gốc OS/2. Dự án cũng cung cấp API Odin32 để biên dịch các chương trình Win32 cho OS/2.
  • E/OS, một dự án cố gắng cho phép mọi chương trình được thiết kế cho bất kỳ hệ điều hành nào được chạy mà không cần phải thực sự cài đặt bất kỳ hệ điều hành nào khác.
  • Các sản phẩm ảo hóa như Parallels Desktop for MacVirtualBox sử dụng WineD3D để sử dụng GPU.
  • WinOnX, gói thương mại của Wine cho macOS bao gồm GUI để bổ sung và quản lý các ứng dụng và máy ảo.

Tiếp nhận

[sửa | sửa mã nguồn]

Dự án Wine đã nhận được một số khiếu nại và quan tâm về kỹ thuật và triết học trong những năm qua.

Bảo mật

[sửa | sửa mã nguồn]

Do khả năng chạy mã nhị phân Windows của Wine, các mối lo ngại đã được đặt ra đối với các vi-rút và phần mềm độc hại của Windows ảnh hưởng đến các hệ điều hành tương tự Unix.[108] Wine có thể chạy hầu hết các phần mềm độc hại, nhưng các chương trình chạy trong Wine bị giới hạn trong các đặc quyền của người dùng hiện tại, hạn chế một số hậu quả không mong muốn. Vì lý do này, các nhà phát triển của Wine khuyên không bao giờ chạy nó bằng superuser.[109] Phần mềm nghiên cứu phần mềm độc hại như ZeroWine[110] chạy Wine trên Linux trong máy ảo, để tách phần mềm độc hại hoàn toàn khỏi hệ thống chủ. Một cách khác để cải thiện bảo mật mà không bị chậm sử dụng máy ảo, là chạy Wine trong bộ chứa LXC, như phần mềm Anbox đang hoạt động theo mặc định với Android.

Một mối quan tâm bảo mật khác là khi các thông số kỹ thuật được triển khai không được thiết kế và cho phép thỏa hiệp bảo mật. Bởi vì Wine thực hiện các thông số kỹ thuật này, nó cũng sẽ thực hiện bất kỳ lỗ hổng bảo mật nào mà chúng chứa. Một ví dụ của vấn đề này là lỗ hổng Windows Metafile năm 2006, đã cho thấy Wine thực hiện lối thoát SETABORTPROC dễ bị tổn thương.[111][112]

Wine với các ứng dụng Unix thuần

[sửa | sửa mã nguồn]

Một mối quan tâm chung về Wine là sự tồn tại của nó có nghĩa là các nhà cung cấp ít có khả năng viết các ứng dụng Linux, macOS và BSD thuần. Một ví dụ về điều này, đáng để xem xét hệ điều hành năm 1994 của IBM, OS/2 Warp. Một bài viết mô tả những điểm yếu của OS/2 đã giết chết nó, cái đầu tiên là:

OS/2 cung cấp khả năng tương thích tuyệt vời với các ứng dụng DOS và Windows 3.1. Không, đây không phải là một lỗi. Nhiều nhà cung cấp ứng dụng lập luận rằng bằng cách phát triển ứng dụng DOS hoặc Windows, họ sẽ tiếp cận thị trường OS/2 ngoài thị trường DOS/Windows và họ không phát triển ứng dụng OS/2 gốc.[113]

Dự án Wine tự trả lời các khiếu nại này trên một trong các trang wiki của nó:

Đối với hầu hết mọi người, vẫn còn một số chương trình khóa chúng vào Windows. Rõ ràng là sẽ không bao giờ có Microsoft Office được chuyển sang Linux, tuy nhiên các phiên bản chương trình cũ hơn như TurboTax cũng sẽ không được chuyển. Tương tự, có hàng chục ngàn trò chơi và ứng dụng nội bộ của công ty sẽ không bao giờ được chuyển. Nếu bạn muốn sử dụng Linux và dựa vào bất kỳ ứng dụng Windows cũ nào, một thứ như Wine là điều cần thiết... Wine làm cho Linux trở nên hữu ích hơn và cho phép hàng triệu người dùng chuyển đổi những người không thể khác. Điều này làm tăng đáng kể thị trường Linux, thu hút nhiều nhà phát triển thương mại và cộng đồng hơn vào Linux.[114]

Ngoài ra, trang Wine Wiki tuyên bố rằng Wine có thể giúp phá vỡ vấn đề con gà và quả trứng cho Linux trên máy tính để bàn:[115]

Điều này đưa chúng ta đến vấn đề con gà và quả trứng của Linux trên máy tính để bàn. Cho đến khi Linux có thể cung cấp nhiều ứng dụng hơn, thị phần của nó trên máy tính để bàn sẽ bị đình trệ. Nhưng cho đến khi thị phần của Linux trên máy tính để bàn tăng lên, sẽ không có nhà cung cấp nào phát triển ứng dụng cho Linux. Làm thế nào để phá vỡ vòng luẩn quẩn này?

Một lần nữa, Wine có thể cung cấp một câu trả lời. Bằng cách cho phép người dùng sử dụng lại các ứng dụng Windows mà họ đã đầu tư thời gian và tiền bạc, Wine làm giảm đáng kể rào cản ngăn người dùng chuyển sang Linux. Điều này sau đó giúp Linux có thể cất cánh trên máy tính để bàn, giúp tăng thị phần trong phân khúc đó. Đổi lại, điều này giúp các công ty có thể sản xuất các phiên bản ứng dụng Linux của họ và cho các sản phẩm mới ra mắt chỉ dành cho thị trường Linux. Lý do này có thể được bác bỏ dễ dàng nếu Wine chỉ có khả năng chạy Solitaire. Tuy nhiên, giờ đây, nó có thể chạy Microsoft Office, các ứng dụng đa phương tiện như QuickTime và Windows Media Player và thậm chí các trò chơi như Max Payne hoặc Unreal Tourathon 3. Hầu như bất kỳ ứng dụng phức tạp nào khác đều có thể được chạy để có một chút thời gian. Và mỗi khi công việc đó được thực hiện để thêm một ứng dụng vào danh sách này, nhiều ứng dụng khác được hưởng lợi từ công việc này và cũng có thể sử dụng được. Hãy xem Cơ sở dữ liệu ứng dụng của chúng tôi để có ý tưởng về những gì có thể chạy trong Wine.

Việc sử dụng Wine để chơi game đã gây tranh cãi đặc biệt trong cộng đồng Linux, vì một số người cảm thấy điều đó đang ngăn chặn hoặc ít nhất là cản trở sự phát triển hơn nữa của trò chơi Linux gốc trên nền tảng này.[116][117]

Microsoft đã không đưa ra tuyên bố công khai về Wine. Tuy nhiên, phần mềm Windows Update sẽ chặn các bản cập nhật cho các ứng dụng Microsoft đang chạy trong Wine.Vào ngày 16 tháng 2 năm 2005, Ivan Leo Puoti phát hiện ra rằng Microsoft đã bắt đầu kiểm tra Windows Registry cho khóa cấu hình Wine và sẽ chặn Windows Update bất kỳ thành phần nào.[118] Như Puoti đã lưu ý: "Đây cũng là lần đầu tiên Microsoft thừa nhận sự tồn tại của Wine."

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ “Wine 5.0.2 Released”. ngày 7 tháng 8 năm 2020.
  2. ^ “Wine 5.15 Released”. ngày 14 tháng 8 năm 2020.
  3. ^ Search Results · GitHub
  4. ^ Search Results · GitHub
  5. ^ Search Results · GitHub
  6. ^ Search Results · GitHub
  7. ^ Search Results · GitHub
  8. ^ a b “Download - WineHQ Wiki”. Truy cập ngày 31 tháng 10 năm 2018.
  9. ^ a b https://dl.winehq.org/wine-builds/android/
  10. ^ “Licensing - WineHQ Wiki”. WineHQ. Bản gốc lưu trữ ngày 10 tháng 1 năm 2017. Truy cập ngày 10 tháng 1 năm 2017.
  11. ^ “LICENSE”. WineHQ. Truy cập ngày 10 tháng 1 năm 2017.
  12. ^ “Winelib”. Wine HQ. Truy cập ngày 29 tháng 6 năm 2008.
  13. ^ “WineHQ - About Wine”. WineHQ (bằng tiếng Anh). Truy cập ngày 15 tháng 4 năm 2017.
  14. ^ “Wine architecture”. Wine HQ. Truy cập ngày 16 tháng 6 năm 2012.
  15. ^ “Wineserver - WineHQ Wiki”. wiki.winehq.org (bằng tiếng Anh). Truy cập ngày 15 tháng 4 năm 2017.
  16. ^ “Regedit - WineHQ Wiki”. wiki.winehq.org (bằng tiếng Anh). Truy cập ngày 15 tháng 4 năm 2017.
  17. ^ “Msiexec - WineHQ Wiki”. wiki.winehq.org (bằng tiếng Anh). Truy cập ngày 15 tháng 4 năm 2017.
  18. ^ Mckenzie, James (ngày 26 tháng 12 năm 2009). “Legal Issues”. WineHQ Forums.
  19. ^ “WineConf 2018” (PDF). wiki.winehq.org. Truy cập ngày 15 tháng 1 năm 2019.
  20. ^ WINE FAQ Old meaning of the name even used until 1997
  21. ^ [1]
  22. ^ “Why do some people write WINE and not Wine?”. Wine Wiki FAQ. Official Wine Wiki. ngày 7 tháng 7 năm 2008. Bản gốc lưu trữ ngày 21 tháng 6 năm 2011. Truy cập ngày 13 tháng 7 năm 2008.
  23. ^ “macOS - WineHQ Wiki”. Truy cập ngày 31 tháng 10 năm 2018.
  24. ^ “Download - WineHQ Wiki”. Truy cập ngày 31 tháng 10 năm 2018.
  25. ^ “2007 Desktop Linux Market survey”. ngày 21 tháng 8 năm 2007. Bản gốc lưu trữ ngày 24 tháng 5 năm 2012. Truy cập ngày 8 tháng 10 năm 2007.
  26. ^ Vaughan-Nichols, Steven J. (ngày 22 tháng 8 năm 2007). “Running Windows applications on Linux”. 2007 Desktop Linux Survey results. DesktopLinux. Bản gốc lưu trữ ngày 11 tháng 2 năm 2010.
  27. ^ Amstadt, Bob (ngày 29 tháng 9 năm 1993). “Wine project status”. Truy cập ngày 13 tháng 7 năm 2008. Đã bỏ qua tham số không rõ |newsgroup= (trợ giúp)
  28. ^ “Sun Uses ECMA as Path to ISO Java Standardization”. Computergram International. ngày 7 tháng 5 năm 1999. Bản gốc lưu trữ ngày 8 tháng 7 năm 2012. Truy cập ngày 13 tháng 7 năm 2008.
  29. ^ Byron A Jeff (ngày 25 tháng 8 năm 1993). “WABI available on Linux or not”. Truy cập ngày 21 tháng 9 năm 2007. Đã bỏ qua tham số không rõ |newsgroup= (trợ giúp)
  30. ^ Loli-Queru, Eugenia (ngày 29 tháng 10 năm 2001). “Interview with WINE's Alexandre Julliard”. OSnews (Phỏng vấn). Truy cập ngày 30 tháng 6 năm 2008. Usually we start from whatever documentation is available, implement a first version of the function, and then as we find problems with applications that call this function we fix the behavior until it is what the application expects, which is usually quite far from what the documentation states.
  31. ^ White, Jeremy (ngày 6 tháng 2 năm 2002). “Wine license change”. Truy cập ngày 27 tháng 4 năm 2010.
  32. ^ Alexandre Julliard (ngày 18 tháng 2 năm 2002). “License change vote results”. Truy cập ngày 27 tháng 4 năm 2010.
  33. ^ “Beta!”. ngày 25 tháng 10 năm 2005. Truy cập ngày 9 tháng 12 năm 2010.
  34. ^ “Announcement of version 1.0”. Wine HQ. ngày 17 tháng 6 năm 2008. Truy cập ngày 1 tháng 9 năm 2008.
  35. ^ Julliard, Alexandre (ngày 16 tháng 7 năm 2010). “Release News”.
  36. ^ “Wine Announcement”. Truy cập ngày 7 tháng 3 năm 2012.
  37. ^ “Wine 1.6 Released”. WineHQ. ngày 18 tháng 7 năm 2013. Truy cập ngày 18 tháng 7 năm 2013.
  38. ^ “Wine 1.8 Released”. WineHQ. ngày 19 tháng 12 năm 2015. Truy cập ngày 19 tháng 12 năm 2015.
  39. ^ “Wine-Staging”. WineHQ Wiki. Truy cập ngày 22 tháng 4 năm 2019.
  40. ^ White, Jeremy (ngày 27 tháng 1 năm 2011). “Announcing CrossOver 10.0 and CrossOver Games 10.0, The Impersonator”. CodeWeavers. Truy cập ngày 28 tháng 1 năm 2011.
  41. ^ Vaughan-Nichols, Steven J. (ngày 25 tháng 2 năm 2002). “That's All Folks: Corel Leaves Open Source Behind”. Linux.com. Bản gốc lưu trữ ngày 22 tháng 9 năm 2015. Truy cập ngày 20 tháng 9 năm 2019. Đã định rõ hơn một tham số trong |accessdate=|access-date= (trợ giúp)
  42. ^ Kegel, Dan (ngày 14 tháng 2 năm 2008). “Google's support for Wine in 2007” (Danh sách thư). Truy cập ngày 3 tháng 1 năm 2009. Đã bỏ qua tham số không rõ |mailinglist= (trợ giúp)
  43. ^ “Open Source Patches: Wine”. Google. Truy cập ngày 7 tháng 9 năm 2008.
  44. ^ a b c “Wine Developer's Guide/Architecture Overview”. WineHQ. Truy cập ngày 22 tháng 4 năm 2019.
  45. ^ See the "Windows service" article
  46. ^ “Wine Status”. WineHQ. Truy cập ngày 22 tháng 4 năm 2019.
  47. ^ a b c d e f “Wine 4.0”. WineHQ (bằng tiếng Anh).
  48. ^ “FAudio Lands In Wine For New XAudio2 Re-Implementation”. Phoronix. ngày 25 tháng 2 năm 2019.
  49. ^ “WineHQ - Wine Announcement - The Wine development release 4.3 is now available”.
  50. ^ “With Wine Git, You Can Run The D3D11 Blizzard Overwatch Game On Linux”. Phoronix. ngày 12 tháng 12 năm 2016.
  51. ^ Dossena, Federico. “WineD3D For Windows”. Federico Dossena.
  52. ^ “Wine 4.6”. WineHQ (bằng tiếng Anh). Truy cập ngày 22 tháng 4 năm 2019.
  53. ^ Christoph Bumiller. “Direct3D 9 Gallium3D State Tracker”. there are a couple of differences to d3d1x: [...] it's written in C instead of C++ and not relying on horrific multiple inheritance with [...] So far I've tried Skyrim, Civilization 5, Anno 1404 and StarCraft 2 on the nvc0 and r600g drivers, which work pretty well, at up to x2 the fps I get with wined3d (NOTE: no thorough benchmarking done yet).
  54. ^ “WINE”. WineHQ. Truy cập ngày 29 tháng 4 năm 2017.
  55. ^ Nick Congleton (ngày 26 tháng 10 năm 2016). “Configuring WINE with Winecfg”. LinuxConfig. Truy cập ngày 29 tháng 4 năm 2017.
  56. ^ “Third Party Applications”. Official Wine Wiki. Truy cập ngày 3 tháng 1 năm 2009.
  57. ^ “Gaming on Linux: A guide for sane people with limited patience”. PCWorld. Truy cập ngày 11 tháng 1 năm 2015.
  58. ^ VitalyLipatov (ngày 30 tháng 3 năm 2011). “winetricks - The Official Wine Wiki”. Truy cập ngày 2 tháng 8 năm 2011.
  59. ^ “winetricks”. Official Wine Wiki. Truy cập ngày 3 tháng 1 năm 2009.
  60. ^ “Wine doors”. Wine doors. Truy cập ngày 27 tháng 4 năm 2010.
  61. ^ “IEs4Linux”. Tatanka.com.br. Bản gốc lưu trữ ngày 20 tháng 8 năm 2008. Truy cập ngày 27 tháng 4 năm 2010.
  62. ^ “Wineskin”. Bản gốc lưu trữ ngày 6 tháng 11 năm 2020. Truy cập ngày 21 tháng 9 năm 2019.
  63. ^ “Lutris”.
  64. ^ “OpenIndiana Bordeaux announcement”. OpenIndiana-announce mailing list. Bản gốc lưu trữ ngày 15 tháng 10 năm 2010. Truy cập ngày 1 tháng 10 năm 2010.
  65. ^ “Bordeaux group press release”. Bordeaux group site. Bản gốc lưu trữ ngày 7 tháng 10 năm 2010. Truy cập ngày 1 tháng 10 năm 2010.
  66. ^ “DirectX-Shaders”. Official Wine Wiki. Bản gốc lưu trữ ngày 1 tháng 1 năm 2009. Truy cập ngày 3 tháng 1 năm 2009.
  67. ^ “List of Commands”. WineHQ. ngày 12 tháng 4 năm 2016. Truy cập ngày 29 tháng 4 năm 2017.
  68. ^ “Windows Legacy Application Support Under Wine” (PDF). Truy cập ngày 9 tháng 12 năm 2010.
  69. ^ Strohmeyer, Robert (ngày 6 tháng 4 năm 2007). “Still need to run Windows apps? Have a glass of wine”. Truy cập ngày 9 tháng 12 năm 2010.
  70. ^ Andre Da Costa (ngày 20 tháng 4 năm 2016). “How to Enable 16-bit Application Support in Windows 10”. groovyPost (bằng tiếng Anh). Truy cập ngày 9 tháng 4 năm 2019.
  71. ^ “64-bit versions of Windows do not support 16-bit components, 16-bit processes, or 16-bit applications”. Truy cập ngày 22 tháng 8 năm 2015.
  72. ^ Savill, John (ngày 11 tháng 2 năm 2002). “Why can't I install 16-bit programs on a computer running the 64-bit version of Windows XP?”. Truy cập ngày 9 tháng 12 năm 2010.
  73. ^ “Text mode programs (CUI: Console User Interface)”. Wine User Guide. Truy cập ngày 22 tháng 5 năm 2010.
  74. ^ Lankhorst, Maarten (ngày 5 tháng 12 năm 2008). “Wine64 hello world app runs!” (Danh sách thư). Truy cập ngày 15 tháng 12 năm 2008. Đã bỏ qua tham số không rõ |mailinglist= (trợ giúp)
  75. ^ a b “Building Wine”. WineHQ. Truy cập ngày 23 tháng 4 năm 2019.
  76. ^ “Wine64 for packagers”. Official Wine Wiki. Bản gốc lưu trữ ngày 25 tháng 4 năm 2010. Truy cập ngày 20 tháng 4 năm 2010.
  77. ^ “[Wine] Re: Wine sometime really surprise me”. Truy cập ngày 15 tháng 2 năm 2013.
  78. ^ “WineHQ Bugzilla – Bug 26715 – Win1.0 executable triggers Dosbox”. Truy cập ngày 15 tháng 2 năm 2013.
  79. ^ “The Wine development release 1.3.4 announcement”. Winehq.org. Truy cập ngày 15 tháng 10 năm 2010.
  80. ^ “ARM support”. The Official Wine Wiki. Truy cập ngày 22 tháng 4 năm 2019.
  81. ^ http://dawncrow.de/wine/winece.html
  82. ^ “Wine On Android Is Coming For Running Windows Apps”. Phoronix. ngày 3 tháng 2 năm 2013.
  83. ^ “Android”. WineHQ. Truy cập ngày 23 tháng 4 năm 2019.
  84. ^ “Internet Explorer”. WineHQ AppDB. Truy cập ngày 23 tháng 4 năm 2019.
  85. ^ “So far, I do not manage to install IES4Linux”. ngày 22 tháng 6 năm 2012.
  86. ^ Vincent, Brian (ngày 3 tháng 2 năm 2004). “WineConf 2004 Summary”. Wine Weekly News (208). WineHQ.org. Bản gốc lưu trữ ngày 31 tháng 12 năm 2006. Truy cập ngày 22 tháng 9 năm 2019. Đã định rõ hơn một tham số trong |archiveurl=|archive-url= (trợ giúp); Đã định rõ hơn một tham số trong |accessdate=|access-date= (trợ giúp)
  87. ^ “Wine Status – DirectX DLLs”. WineHQ.org. Bản gốc lưu trữ ngày 26 tháng 12 năm 2008. Truy cập ngày 3 tháng 1 năm 2009.
  88. ^ “CodeWeavers Releases CrossOver 6 for Mac and Linux”. Slashdot. Truy cập ngày 3 tháng 1 năm 2009.
  89. ^ “CrossOver – Change Log – CodeWeavers”. Bản gốc lưu trữ ngày 19 tháng 8 năm 2012. Truy cập ngày 9 tháng 3 năm 2012.
  90. ^ “CrossOver Games site”. CodeWeavers. ngày 6 tháng 1 năm 1990. Truy cập ngày 27 tháng 4 năm 2010.
  91. ^ “GameTree Developer Program”. gametreelinux.com. Bản gốc lưu trữ ngày 10 tháng 1 năm 2011. Truy cập ngày 2 tháng 1 năm 2011.
  92. ^ “WINE@Etersoft – Russian proprietary fork of Wine” (bằng tiếng Nga). Pcweek.ru. ngày 21 tháng 4 năm 2010. Truy cập ngày 27 tháng 4 năm 2010.
  93. ^ a b WineBottler Homepage
  94. ^ “Mac OS X at WineHQ”. WineHQ. Truy cập ngày 20 tháng 3 năm 2013.
  95. ^ “Pipelight: using Silverlight in Linux browsers”. FDS-Team. Bản gốc lưu trữ ngày 22 tháng 8 năm 2013. Truy cập ngày 4 tháng 4 năm 2014.
  96. ^ “wine-compholio-daily README”. github. Truy cập ngày 4 tháng 4 năm 2014.
  97. ^ Smith, Jerry (ngày 2 tháng 7 năm 2015). “Moving to HTML5 Premium Media”. Microsoft Edge Blog. Truy cập ngày 10 tháng 2 năm 2019.
  98. ^ a b c d e “Steam for Linux:: Introducing a new version of Steam Play”. Valve Software. Truy cập ngày 22 tháng 8 năm 2018.
  99. ^ “vkd3d.git project summary”. WineHQ Git. Truy cập ngày 22 tháng 8 năm 2018.
  100. ^ “DXVK GitHub repository”. GitHub. Truy cập ngày 22 tháng 8 năm 2018.
  101. ^ “GitHub: README for esync”. GitHub. Truy cập ngày 22 tháng 8 năm 2018.
  102. ^ “Proton GitHub repository”. GitHub. Truy cập ngày 22 tháng 8 năm 2018.
  103. ^ “Developer FAQ”. ReactOS. Bản gốc lưu trữ ngày 13 tháng 11 năm 2008. Truy cập ngày 25 tháng 5 năm 2009.
  104. ^ “Creation of Arwinss branch”. Mail-archive.com. ngày 17 tháng 7 năm 2009. Truy cập ngày 27 tháng 4 năm 2010.
  105. ^ “Arwinss at ReactOS wiki”. Reactos.org. ngày 20 tháng 2 năm 2010. Truy cập ngày 27 tháng 4 năm 2010.
  106. ^ “Arwinss presentation”. Reactos.org. Truy cập ngày 27 tháng 4 năm 2010.
  107. ^ “Wineskin FAQ”. doh123. Bản gốc lưu trữ ngày 26 tháng 10 năm 2012. Truy cập ngày 7 tháng 11 năm 2012.
  108. ^ Matt Moen (ngày 26 tháng 1 năm 2005). “Running Windows viruses with Wine”. Bản gốc lưu trữ ngày 7 tháng 1 năm 2013. Truy cập ngày 22 tháng 9 năm 2019. Đã định rõ hơn một tham số trong |accessdate=|access-date= (trợ giúp)
  109. ^ “Should I run Wine as root?”. Wine Wiki FAQ. Official Wine Wiki. ngày 7 tháng 8 năm 2009. Bản gốc lưu trữ ngày 21 tháng 6 năm 2011. Truy cập ngày 24 tháng 8 năm 2009.
  110. ^ “ZeroWine project home page”.
  111. ^ “Linux/BSD still exposed to WMF exploit through WINE!”. ngày 5 tháng 1 năm 2006.
  112. ^ “CVE-2006-0106 - gdi/driver.c and gdi/printdrv.c in Wine 20050930, and other versions, implement the SETABORTPROC GDI - CVE-Search”. Truy cập ngày 9 tháng 7 năm 2019.
  113. ^ Michal Necasek. “OS/2 Warp history”. Bản gốc lưu trữ ngày 12 tháng 4 năm 2010.
  114. ^ Bernhard Rosenkraenzer. “Debunking Wine Myths”. Bản gốc lưu trữ ngày 11 tháng 1 năm 2016. Truy cập ngày 21 tháng 10 năm 2016.
  115. ^ “Why Wine is so important”. Truy cập ngày 11 tháng 12 năm 2011.
  116. ^ Ports vs. Wine Gamespot (Article by James Hills)
  117. ^ An Interview With A Linux Game Porter Phoronix, ngày 3 tháng 7 năm 2009 (Article by Michael Larabel)
  118. ^ Puoti, Ivan Leo (ngày 18 tháng 2 năm 2005). “Microsoft genuine downloads looking for Wine” (Danh sách thư). Truy cập ngày 23 tháng 1 năm 2006. Đã bỏ qua tham số không rõ |mailinglist= (trợ giúp)

Liên kết ngoài

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Review Phim:
Review Phim: "Gia Tài Của Ngoại" - Khi "Thời Gian" Hóa Thành "Vàng Bạc"
Chắc hẳn, dạo gần đây, "How to Make Millions Before Grandma Dies" hay "หลานม่า" (Lahn Mah) đã trở thành cơn sốt điện ảnh Đông Nam Á
Tóm tắt chương 221: Cho và nhận - Jujutsu Kaisen
Tóm tắt chương 221: Cho và nhận - Jujutsu Kaisen
Bài viết sẽ tiết lộ nội dung truyện tuy nhiên thì các bạn chắc cũng biết luôn rồi: Gojo Satoru quay trở lại
Sự cần thiết của Tự mình suy tư vấn đề
Sự cần thiết của Tự mình suy tư vấn đề
Trước đây, mình hay có thói quen hễ thấy vấn đề gì khó xíu là chạy đi tham khảo Google cho tiện
Nhân vật Kasumi Miwa -  Jujutsu Kaisen
Nhân vật Kasumi Miwa - Jujutsu Kaisen
Kasumi Miwa (Miwa Kasumi?) Là một nhân vật trong bộ truyện Jujutsu Kaisen, cô là học sinh năm hai tại trường trung học Jujutsu Kyoto.