目次 - FAQ - ユーザ

# FAQ:ユーザ

## 特定のビデオドライバを選択する方法は?

環境変数 "SDL_VIDEODRIVER" に使用したいビデオドライバの名前を設定することができる. 使用できるドライバは環境とSDLのコンパイル時のオプションによる. いくつかの環境の設定の一部:

### Linux

名称 | 説明 | 1.2 | 2.0
--- | --- | --- | ---
x11 | (デフォルト) X11 ウィンドウシステムを使う | ○ | ○
dga | フルスクリーン ハードウェア アクセラレーションとしてXFree86 DGA 2.0を使う | ○ | -
fbcon | フレームバッファ コンソールを使う | ○ | -
directfb | DirectFB API を使う | ○ | ○
svgalib | SVGAlib API を使う | ○ | -
ggi | General Graphics Interface API を使う | ○ | -
aalib | Ascii Art library を使う | ○ | -
wayland | ハードウェアアクセラレーションとしてWaylandプロトコルを使う | - | ○
kmsdrm | Direct Rendering Manager / Kernel Mode Settingを使う | - | ○

### Win32

名称 | 説明 | 1.2 | 2.0
--- | --- | --- | ---
directx | (デフォルト) DirectDraw API を使う | ○ | -
windib | Win32 GDI を使う | ○ | -
window | SDLビデオドライバを使う | - | ○

## 特定のオーディオドライバを選択する方法は?

環境変数 "SDL_AUDIODRIVER" に使用したいオーディオドライバの名前を設定することができる. 使用できるドライバは環境とSDLのコンパイル時のオプションによる. いくつかの環境の設定の一部:

### Linux

名称 | 説明 | 1.2 | 2.0
--- | --- | --- | ---
pluseaudio | PulseAudioを使う (デフォルト) | - | ○
pluse | PluseAudioを使う | ○ | -
alsa | ALSA PCMオーディオを使う | ○ | ○
artsc | ARTS オーディオデーモンに接続する | ○ | -
arts | Analog RealTime Synthesizerを使う | ○ | ○
esd | ESound オーディオデーモンに接続する | ○ | ○
jack | Jack Audio Connection Kitを使う | - | ○
pipewire | Pipewireを使う | - | ○
disk | オーディオ出力をsdlaudio.rawファイルに書き込む | ○ | ○
dsp | /dev/dsp を開き OSS API を使う | ○ | ○
dma | OSS API で/dev/dspのDMAにアクセスする | ○ | -

### Win32

名称 | 説明 | 1.2 | 2.0
--- | --- | --- | ---
dsound | (デフォルト) DirectSound API を使う | ○ | -
waveout | Win32 MultiMedia API を使う | ○ | -
directsound | DirectSoundを使う | - | ○
winmm | Windows Waveform Audioを使う | - | ○

## SDLではどのような環境変数が使えるか?

Mattias Engdegardの作成したSDLが使用する環境変数の一部の一覧がある. これらの環境変数は公式に対応したものではなく, 変更や廃止される可能性があるので注意すること. ftp://ptah.lnf.kth.se/pub/misc/sdl-env-vars

## なぜSDLはデフォルトでスクリーンセーバーを無効にするのか?

SDLを使った多くのアプリケーションはゲームやスクリーンセーバーやメディアプレイヤーで, ユーザは長時間何かを見ていたり, 通常はスクリーンセーバーの起動を防がないジョイスティックを操作していたりする.

この動作は環境変数の設定 SDL_VIDEO_ALLOW_SCREENSAVER=1 で無効にできる. これはユーザが全てのSDLを使ったアプリケーションに対して設定でき, またコードでアプリケーションごとにできる.

SDL 2.0.2では, これはSDL_HINT_VIDEO_ALLOW_SCREENSAVERヒントで設定することもできる.

さらに, SDL 2.0ではSDL_EnableScreenSaver()関数もある.

## SDL Wikiへのリンク

FAQ: Using SDL - SDL Wiki