Buộc phần mềm dựa trên kết xuất opengl


11

Làm cách nào tôi có thể buộc một ứng dụng sử dụng kết xuất opengl dựa trên phần mềm trên Ubuntu?


Chúng ta đang nói về ứng dụng (loại) nào?
Bobby

Câu trả lời:


20

Nếu bạn đang sử dụng Mesa libGL, bạn có thể bật kết xuất phần mềm vĩnh viễn bằng cách chạy:

sudo apt-get cài đặt libgl1-mesa-swx11

Điều này sẽ loại bỏ các libgl1-mesa-glxthư viện Mesa được tăng tốc phần cứng và cài đặt trình kết xuất chỉ dành cho phần mềm.

Thay phiên, bạn có thể đặt LIBGL_ALWAYS_SOFTWARE=1, điều này sẽ chỉ ảnh hưởng đến các chương trình bắt đầu với biến môi trường đó, không phải toàn bộ hệ thống.

Cả hai thay đổi này có thể không hoạt động nếu bạn đang sử dụng trình điều khiển NVidia nhị phân, cung cấp riêng cho chúng libGL.


1
Xin chào, tôi có thể đặt biến này LIBGL_ALWAYS_SOFTWARE = ​​1 ở đâu? Tôi gặp vấn đề nghịch đảo, OpenGL luôn là phần mềm được kết xuất và máy tính xách tay của tôi không hỗ trợ Unity3D cho ubfox 15.04. Tôi có đồ họa lai Intel-Nvidia.
Santi

1
libgl1-mesa-swx11 không còn thay thế libgl1-mesa-glx. Do đó, khi cài đặt nó, bạn cần cấu hình một ghi đè để sử dụng nó. Tuy nhiên, tôi khuyên bạn nên sử dụng kết xuất Phần mềm ống LLVM bằng cách sử dụng "LIBGL_ALWAYS_SOFTWARE = ​​1" Nó nhanh hơn nhiều và tận dụng phần cứng mới hơn. Ngoài ra, người dùng trình điều khiển nvidia và amd có thể buộc sử dụng đường dẫn phần mềm mesa, nếu mesa được cài đặt, thông qua việc sử dụng hack ld.so để ghi đè thư viện libGL được tải.
Robert Wm Ruedisueli

2
Điều này có hoạt động trên trình điều khiển độc quyền AMD? Có một lựa chọn dễ dàng trên Nvidia?
Daniel M Gessel

Tôi tự hỏi tại sao LIBGL_ALWAYS_SOFTWARE=1không thể được tạo để hoạt động với trình điều khiển NVIDIA được cài đặt + libgl1-mesa-glx, vì chương trình của tôi vẫn được liên kết với /usr/lib/x86_64-linux-gnu/libGL.so(được cung cấp bởi libgl1-mesa-dev) và không /usr/lib/nvidia-361/libGL.so, dường như được tải dlopenbởi Mesa. Ubuntu 16.04.
Ciro Santilli 冠状 病毒 审查 事件

1

Nếu đây là về ứng dụng của riêng bạn, bạn có thể liên kết với phần mềm triển khai OpenGL Mesa3D .

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.