Tôi nghĩ rằng rất nhiều câu trả lời bỏ lỡ một điểm quan trọng: bạn có thể viết các ứng dụng truy cập trực tiếp vào phần cứng, nhưng không phải trên các hệ điều hành hiện đại . Đó không chỉ là vấn đề thời gian, mà là vấn đề "bạn không có lựa chọn".
Windows, Linux, OSX, v.v ... đều cấm truy cập phần cứng trực tiếp vào các ứng dụng tùy ý. Điều này rất quan trọng vì lý do bảo mật: bạn không muốn bất kỳ ứng dụng ngẫu nhiên nào có thể đọc bộ nhớ GPU tùy ý vì lý do tương tự bạn không muốn bất kỳ ứng dụng ngẫu nhiên nào có thể đọc bộ nhớ hệ thống. Những thứ như bộ đệm khung cho tài khoản ngân hàng của bạn hoặc không có gì trong bộ nhớ GPU. Bạn muốn những thứ đó bị cô lập và bảo vệ và quyền truy cập được kiểm soát bởi HĐH của bạn.
Chỉ các trình điều khiển mới có thể nói chuyện trực tiếp với hầu hết các phần cứng và cách duy nhất để nói chuyện với trình điều khiển là thông qua HAL tiếp xúc với hệ điều hành và giao diện không tương thích và độc quyền của mỗi trình điều khiển. Giao diện trình điều khiển đó sẽ không chỉ khác nhau đối với mỗi nhà cung cấp mà thậm chí sẽ khác nhau giữa các phiên bản của trình điều khiển, khiến cho việc nói chuyện trực tiếp với giao diện trong ứng dụng khách hàng gần như không thể. Các lớp này thường được bao phủ bởi các điều khiển truy cập nhằm hạn chế hơn nữa khả năng ứng dụng truy cập chúng.
Vì vậy, không, trò chơi của bạn không thể chỉ sử dụng phần cứng trực tiếp, trừ khi bạn chỉ nhắm mục tiêu các hệ điều hành không an toàn như DOS và tùy chọn khả thi duy nhất của bạn cho trò chơi trên các hệ điều hành tiêu dùng hiện đại là nhắm mục tiêu API công khai như DirectX, OpenGL hoặc Vulkan.